mysql 数据库模式迁移

hm2xizp9  于 2023-03-28  发布在  Mysql
关注(0)|答案(6)|浏览(135)

在我重新发明轮子之前,有没有一个简单的工具可以像laravel一样进行模式迁移,但使用标准SQL?
许多模式迁移工具仅基于数字前缀应用迁移文件,其中所述前缀大于当前表增量。
我更感兴趣的是一个工具,它可以按顺序(数字前缀)遍历迁移目录中的所有文件,并将任何MISSING(来自数据库迁移表)SQL迁移文件应用到数据库。
更喜欢自由/开源软件,也不会把回滚功能踢下床。

2hh7jdfx

2hh7jdfx1#

FlywayDBLiquibase这两个工具都非常适合处理数据库迁移。
这两个工具都是在“Apache2.0许可证”下授权的,所以你有可能贡献自己的东西,并且源代码是在Github上公开的。
FlywayDB是更多的版本号导向和存储在一个表中的迁移。数字前缀作为您的要求。
Liquibase处理变更集,其顺序取决于变更日志文件中变更集的顺序。

93ze6v8z

93ze6v8z2#

如果您正在寻找一个非常简单的替代方案(但仍然很强大),请查看dbmate

umuewwlo

umuewwlo3#

这不是一个通用的答案,但是如果你喜欢PHP,你应该考虑教条迁移:https://packagist.org/packages/doctrine/migrations

uelo1irk

uelo1irk4#

除了flyway和liquibase,还有一个新的Bytebase,它有很好的GUI和支持GitOps。

rm5edbpk

rm5edbpk5#

Flyway看起来非常适合-它处理migrations目录中的普通SQL文件,并使用DB表来跟踪已经应用到目标DB的迁移。

5q4ezhmt

5q4ezhmt6#

不确定它是否满足你的所有需求,但在工作中,我们使用liquibase来控制数据库模式。我不是这里的DBA,所以从开发的Angular 来看,它非常简单。我们只需使用SQL创建一个yaml文件,并在git repo中进行常规提交,PR等。所以在我看来,这很直观。

相关问题