我有一个与Flyway DB迁移有关的问题。如何通常管理处理相同数据库模式的多个项目(微服务)。如果项目被其他项目修改,则每个项目中的Flyway迁移脚本都不允许启动。他们是否有相同的文件或最佳实践?具有单个架构和多个项目的飞路迁移
2
A
回答
1
为了什么值得,这就是我们所做的。由于架构是由多个项目共享的,因此我们通过单个项目来管理架构,其任务是维护所述架构。集中化模式创建和维护还有其他好处,因为我们有单一的变更轨迹。我们无需扫描多个项目进行更改。
我真的认为这是最好的解决方案。我不相信flyway有项目间模式依赖管理。
+0
这个单独的项目是否仅包含Flyway配置和迁移文件,或者您是否还将所有应用程序SQL语句(普通'SELECT's等)移动到此中央项目? –
0
我们正在这样做。我们有一个管理模式创建/管理的中心项目,其他项目都通过自己的飞行路径版本控制自己的功能创建。这是通过更改那些其他项目检查其模式版本的表的名称以及将迁移设置为true时的基线来完成的。我们使用spring/flyway-db移植,因此除了第一个项目之外,这仅仅是为每个项目增加了以下内容到application.properties
。
flyway.baselineOnMigrate=true
flyway.table=schema_verison_*<some_other_identifier>*
我知道你的问题没有specifiy弹簧结构明确,但我相信这可以配置你如何使用迁徙路线没有关系。我想发表一个答案,就像我自己在Google上搜索这个问题一样,你的问题是最重要的结果,我想我的答案可能会帮助某个人走上正轨。
相关问题
- 1. 具有DB2和多个架构的Rails
- 2. 具有多个值的单个项目的Python数据结构
- 3. 飞道:迁移多个数据库
- 4. 与代码首先迁移实体框架的多个项目
- 5. 从mod_python迁移到mod_wsgi(多个项目)
- 6. 迁飞迁移不gradle这个
- 7. 我可以加载从一个罐子/多个模式的飞路迁移
- 8. 如何管理具有多个分支的项目中的迁移?
- 9. Eclipse到Android Studio迁移和构建:300多个项目和一个公共库项目
- 10. laravel具有多个迁移表的多个数据库
- 11. 人耳部署时的飞路迁移
- 12. C#MVC项目架构多个子域
- 13. 构建工具:具有多个组件的Coffeescript/Node项目
- 14. 具有相同项目URL的IIS和多个项目?
- 15. 迁飞失序和幂等迁移
- 16. 多个实体框架迁移
- 17. 如何将多个文件合并为单个迁移迁移?
- 18. 拥有多个WCF项目vs 1个具有多个服务的WCF项目
- 19. 如何伪造飞路迁移?
- 20. 飞路迁移是否可变?
- 21. 飞行路线迁移进度
- 22. 飞行路线迁移状态`outOfOrder`?
- 23. 架构迁移与南(Django的)和MySQL
- 24. 迁飞是有使用它throught Maven和API在同一个项目的方式
- 25. 春 - 石英 - 飞路项目,迁徙路线行不通
- 26. 迁移到Android Studio将导致正在安装“单一主项目中的多个库项目”多个应用
- 27. 使用个人用户帐户执行飞路迁移
- 28. 迁飞条件DB迁移
- 29. 具有多个工作空间的单个项目?
- 30. SQL Server架构到架构迁移
理想情况下,每个微服务应该管理自己的数据并拥有单独的数据库模式。这是一个糟糕的做法,违反了微服务体系结构的规则以在服务之间共享数据库模式。 – sezerug
虽然您的观点是有效的,DB模式应该由单个模块进行管理(包括迁移),但它可以被许多模块共享。带有共享数据库的微服务体系结构并不是什么新东西,我认为它是数千个用例中广泛使用的体系结构。 – user3808122