我正在开始一个春季启动的项目,我不知道什么时候才能开始使用flyway。
刚刚开始时还是第一次发布时?
可能这是一个新手问题,但我本周末听说过飞路基地,这对我来说是个新事物。
感谢您的回答。
答案 0 :(得分:4)
我建议尽早使用Flyway。这使您有机会习惯工作流程并在开发环境中犯错误。
当您的域或实体模型达到第一个稳定版本时,我会开始使用它。通过域模型的第一个稳定版本,我的意思是当所有JPA实体及其关系按照您希望的那样实现时。
然后使用例如Hibernate SchemaExport
生成DDL,并创建包含所有CREATE TABLE
,ALTER TABLE
语句的第一个Flyway迁移脚本。
我建议使用此过程,因为它允许您定义数据库的1.0版。 JPA实体的每次更改都可能会强制您迁移数据库。因此,我建议首先设计您的实体,然后编写迁移脚本。
希望这会有所帮助。请享用。
答案 1 :(得分:2)
正如上面提到的@ saw303我建议尽早并亲自为我从第一次更改到数据库。
通过在最早的可行点引入它,它将允许您尽早优化构建和部署过程,从长远来看可以节省您的时间。它还强化了一项关键原则,即不应将变更应用于数据库,而不是飞路。
在结构可能不稳定且可能发生变化的早期阶段,这可能听起来很直观,但是通过使用脚本,它可以让您使用干净的任务,然后进行迁移。这会丢弃所有对象并根据您的脚本重新创建,这样可以节省时间,并且根据数据库的大小可能需要几秒钟才能完成。
我还建议您仔细考虑您的版本控制方法以及如何管理不同的环境,特别是如果某些脚本仅适用于Dev或测试等。我们最近采用的方法是使用locations属性指定多个路径。每个环境都使用一个公共文件夹,后跟该环境的特定位置。
我建议观看本次网络研讨会,因为它会给你一些关于如何最好地实施flyway的好点。
Database Migration Patterns with Flyway
最重要的是,有很多方法可以实现飞路以满足您的需求,并且不一定非常适合所有人,但是在您的项目中开始使用它之前,您将了解到什么效果最好,并相应配置。