开发者社区> 问答> 正文

跟踪数据库架构更改的机制

跟踪和/或自动执行数据库架构更改的最佳方法是什么?我们的团队使用Subversion进行版本控制,我们已经能够以这种方式自动执行某些任务(将构建推送到登台服务器,将经过测试的代码部署到生产服务器),但是我们仍在手动进行数据库更新。我想找到或创建一个解决方案,使我们能够在具有不同环境的服务器之间高效地工作,同时继续使用Subversion作为后端,通过该后端代码和数据库更新被推送到各种服务器。

展开
收起
游客ufivfoddcd53c 2020-01-03 13:59:53 940 0
1 条回答
写回答
取消 提交回答
  • 在Rails世界中,存在迁移的概念,即脚本,其中对数据库的更改是使用Ruby而不是特定于数据库的SQL风格进行的。您的Ruby迁移代码最终将转换为特定于您当前数据库的DDL。这使得切换数据库平台非常容易。

    对于您对数据库所做的每一次更改,您都要编写一个新的迁移。迁移通常有两种方法:应用更改的“上”方法和撤消更改的“下”方法。单个命令可以使数据库更新,也可以用于将数据库带到架构的特定版本。在Rails中,迁移与项目其他代码一样,都保存在项目目录中自己的目录中,并被检入版本控制中。

    该Oracle Rails迁移指南很好地介绍了迁移。

    使用其他语言的开发人员已经研究了迁移并实现了自己的特定于语言的版本。我知道Ruckusing是一个PHP迁移系统,该系统以Rails的迁移为模型。这可能是您要寻找的。

    2020-01-03 14:00:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载