【发布时间】:2011-09-14 15:09:28
【问题描述】:
我一直在开发一个 drupal 网站。在编辑过程中,我添加了数据、删除了字段、创建了新字段、删除了数据并添加了更多数据。现在该站点几乎可以使用了-但我觉得数据库非常混乱(对字段进行了修改等)
在正式推出之前,我怎样才能最好地清理我的网站?另外,在添加/删除字段时使用什么好的做法,这样我就不会遇到这种情况?
【问题讨论】:
标签: drupal-7
我一直在开发一个 drupal 网站。在编辑过程中,我添加了数据、删除了字段、创建了新字段、删除了数据并添加了更多数据。现在该站点几乎可以使用了-但我觉得数据库非常混乱(对字段进行了修改等)
在正式推出之前,我怎样才能最好地清理我的网站?另外,在添加/删除字段时使用什么好的做法,这样我就不会遇到这种情况?
【问题讨论】:
标签: drupal-7
这是一个与工作流相关的问题。 user491844 提到了 Features 的使用,@luksak 说这不是一个真正的答案,但我想解释一下为什么使用 Features 实际上是一种解决方案。
通常我们进行多阶段开发,这意味着您应该有一个单独的开发环境和生产环境(至少;通常第三个区域称为 staging 用于验收测试等:开发 → staging → 生产)。这意味着您应该在开发环境中尝试新事物,并且只要对结果感到满意,就将其上移一级。这可以通过多种方式完成,一个可能的答案是功能。一般来说,您应该看看如何进行代码驱动开发。
很容易看出为什么这种方法实际上可以解决您的问题:在生产中,您不必经常清理东西,因为它不会像沙盒那样有任何额外的麻烦时间>。它还增加了一层保护:如果您破坏了沙箱,您可以克隆生产站点,一切顺利。使用具有附加版本控制(可能是 Git)的功能还提供了一种将事物保存在安全位置的好方法,允许记录正在发生的事情并使得重新使用站点的不同部分成为可能——这将是以后的一件好事如果您要构建多个站点。
如果您有一个完整的网站,则可以“特色化”它,但您必须非常小心如何构建这些功能。通常,尝试构建仅包含与给定功能相关的组件的小功能。这样你最终会得到很多小功能,但它使处理依赖关系更容易。您可以找到很多关于如何正确拆分功能的文章:例如 this 和 this。良好的组织是必不可少的。
我还要提到一件事:在生产中,您可能希望网站尽可能精简,因此设置缓存、禁用开发内容和某些模块的 UI 组件等可能很有用。您可以找到几个可以在生产中帮助您的有用模块,其中之一是 Production check。
有很多关于“如何转移到生产”主题的文章,您应该研究一下以查看推荐的步骤,例如,请参阅 this。
【讨论】: