首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以将数据库迁移工具(如Flyway、Liquibase )与应用程序代码库集成吗?

可以将数据库迁移工具(如Flyway、Liquibase )与应用程序代码库集成吗?
EN

Stack Overflow用户
提问于 2016-01-20 09:08:26
回答 2查看 2.1K关注 0票数 5

我的意思是,允许应用程序修改数据库是很好的做法吗?还是应该将数据库迁移到应用程序代码库的外部?

新的,所以任何投入将被感谢。

我们使用java和gradle来构建应用程序。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-20 09:20:01

这里是Flyway作者。

是!最后,有两种重要的力量在起作用:

  1. --您的模式非常紧密地耦合到应用程序代码:您的应用程序希望有特定的表和列,以便它能够读写它们。您的应用程序的一个版本与下一个版本的确切不同。
  2. --您不希望在应用程序/服务之间进行基于数据库的集成,因为这会破坏所有的封装。数据库是服务的私有实现细节。与其他服务的集成应该通过具有适当验证和业务规则执行的API层进行。

因此,鉴于所有这些,只要把属于自己的东西放在一起,

通过允许应用程序migrate the database on startup,您可以确保数据库模式始终与应用程序对其应该找到的内容的期望保持同步。

票数 14
EN

Stack Overflow用户

发布于 2016-09-09 18:57:05

除非你不知道:

  • 在同一个数据库中运行多个应用程序。因此,您需要选择一个将容纳所有脚本。
  • 您需要能够回滚您的部署,否则您需要在每次启动时快照DB。
  • 您的DBA为您的应用程序提供了执行模式更改的能力,即未经其批准进行模式更改。

通过在所有项目中将天桥目标版本与代码进行耦合,可以轻松地实现代码和模式的耦合。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34895706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档