将Orchard CMS数据迁移到多个环境时应该保留哪些表数据?

时间:2014-08-06 16:21:47

标签: environment-variables orchardcms database-migration orchardcms-1.6 multiple-databases

使用Orchard CMS 1.6,我设置了四个环境:开发,测试,分段和生产。

我从开发中的Orchard UI Dashboard做了很多更改,我想将这些更改迁移到其他环境中。 related question显示这可以通过使用导入/导出模块的Orchard仪表板手动完成,但我正在寻找数据迁移的解决方案我可以自动执行。真的,我希望在接受的related question答案中为SQL Server 2005/2008数据库指出第三步:声明“将数据库迁移到生产环境。”

在Azure之外的多个环境中设置和维护Orchard CMS时,没有太多文档,我在当前的Orchard数据库中有88个表。显然,我可以做的任何事情都可以自动化数据部署。

我在开发和测试(目前反映生产)之间运行了模式和数据比较。备份数据库和复制模式后,我注意到几乎每个表都有很多数据差异。在迁移数据之前,我想确保我已经隔离了我不想更改的表。连接字符串等环境变量必须保持不变。

在他们的环境中应该保留哪些表?

现在我认为他们是:

  1. Orchard_Users_UserPartRecord - 我有生产中的用户我不想拥有其他任何地方。
  2. 环境数据 - 我有一个连接字符串,我放在一个自定义模块的表中,每个环境都有不同的颜色。
  3. 我错过了什么吗?目标环境中的表格中应保留哪些其他数据?

1 个答案:

答案 0 :(得分:1)

我真的不建议进行数据库迁移:你会遇到关于ID,关系等的巨大问题。内容项目会分布在很多表格中,有时会以难以预测的方式分发,并且会出现这种情况。 ;不保证相同的ID不会在不同的环境中归因于不同的项目或记录。这就是推荐的方法,如导入/导出等高级程序。

自动化它绝对是我们想要的,并且有一个功能分支正在为未来版本的Orchard(功能/部署IIRC)做到这一点。

与此同时,我非常确定导入和导出也作为CLI的命令存在,这应该使您能够在一定程度上自动化它。