我想知道使用Drupal(或任何其他CMS)开发网站的团队如何将版本控制,颠覆,git或类似功能集成到他们的工作流程中。您显然希望自定义代码和主题文件受版本控制,但是当您使用诸如Drupal之类的CMS时,很多工作包括配置模块和设置,所有这些都存储在数据库中。
因此,当您是开发人员团队时,您如何在这样的项目上进行协作?将数据库转储到文件中并将该文件置于版本控制下可能会起作用,但是当网站处于活动状态时,客户端会不断添加内容,这使得同步有点问题。
我很想知道别人是怎么做的。
答案 0 :(得分:16)
对于Drupal来说这是一个问题是正确的 - 版本控制正常工作,直到您将网站转到您的客户端或打开它给用户。
您的问题似乎是此one的更具体版本,它涉及Drupal工作流程中的版本控制。你可以在那里找到一些有帮助的答案。
对于某些项目,我已使用Views模块的该功能将所有视图导出到代码,并且我有一个项目,其中所有块都已导出。 (虽然这是一个开发练习,而不是与块有关的习惯用法。)
查看Development Seed正在采取的解决此问题的工作。他们正在领导Context,Features和Spaces模块的开发,这些模块一起工作以将配置数据存储在模块中(在DB之外),以便可以使用代码对其进行版本控制
有一个名为Packaging & Deployment的Drupal小组讨论了为此问题开发的各种解决方案。
答案 1 :(得分:1)
目前正在努力创造能够处理开发的东西 - > drupal与数据库相关的生产困难。 flaminglogos提到的功能之一就是其中之一,但我觉得更专注于创建独立项目,即可以安装在许多站点上的项目。
为了简单地维护您的dev和prod数据库,我会看一下http://drupal.org/project/deploy和http://drupal.org/project/dbscripts。它们支持同步和合并db side drupal配置数据。
我不能保证他们已准备好迎接黄金时间......
答案 2 :(得分:0)
在代码中使用配置运送下一个drupal版本需要付出很多努力。这是在版本系统中使用它的关键。
现在您可以使用功能模块,您可以将内容类型,视图等内容导出到代码中,然后根据需要进行比较,版本和还原。