|
|
1
5
对于基本数据同步:我使用mysqldump每晚将所有数据转储到一个.sql文件中。然后脚本将其签入版本控制系统。这是一个简单的bash脚本,但您可以在几乎任何平台上执行类似的操作。。。 我刚刚读了进一步的内容,我不确定我的方法是否有用。我从来没有合并过SQL转储,因此无法评论它的管理效率。 虽然您应该能够将更改(模式、新数据)推送到登台/生产服务器,但将更改拉回到开发中可能会有更多的麻烦。正如我所说的,合并可能是可能的,也可能是不可能的。我只是不知道。 |
|
|
2
2
在这里,我们已经将CCK降级为原型和v.simple节点类型。尝试将数据库中的“配置”与“内容”分开是不值得的。有各种各样的方法可以让事情保持同步,但简而言之,除非它在一个文件中,或者给你一个导出到一个文件的选项,否则你会受到伤害。(额外的好处是,将视图导出到文件比每次使用它时将其从数据库中拉出要快一些。)
|
|
|
3
1
我试图在另一个问题中回答我是如何做到这一点的。我也会把它贴在这里 我认为这里的一个好策略是使用InstallProfileAPI。使用InstallProfileAPI,您可以完成使用Drupal管理工具所做的大多数事情。大多数核心表单只是在变量表中设置变量。为了能够合理地对非内容数据库内容(即配置)进行版本设置,明智的做法是使用更新功能。 在我的网站上,我们有一个模块“ec”,除了它的ec.install文件包含更新功能外,几乎没有其他功能,例如ec_update_6001() 您的主安装功能可以负责在任何新安装上实际运行更新,以使模块更新。
有效地解决了数据库和Drupal代码的版本控制问题。我们广泛使用它。它允许我们推广新的代码,这些代码可以更改数据库配置,而无需重新导入数据库或进行实时更改。这也意味着我们可以正确地测试发布,而不用担心隐藏的数据库更改。 最后,cck和视图支持这种方法。请参阅此代码段
|
|
|
4
0
|