我正在尝试改进处理 MySQL 模式和迁移的工作流程。当我从头开始一个项目时(大多数时候使用 PHP),我发现自己一直在更改我的数据库模式。我的意思是:您在这里和那里忘记了一个字段,或者您想删除一个未使用的字段。
我阅读了很多关于一些 ORM 的内容,但它们似乎添加了很多我并不真正需要的功能。开销不是一种选择。
所以,我对此“做梦”,但我不知道是否存在,或者是否有可能:
使用 YAML 编写模式,例如:
Table:Posts id:int title:varchar(500) content:text
运行生成模式的 cli 命令
$ schema update
对您的 yaml 进行更改(例如添加一个字段):
Table:Posts id:int title:varchar(500) content:text published:datetime
再次运行 cli 命令,仅 ADD COLUMN(不会重新生成整个内容)
$ schema update
可能吗?有没有这样的工具?我可以编写 SQL,我可以编写迁移,但我认为它会是一个很棒的工具,可以“识别我的定义中的更改”,并自动同步数据库。
非常感谢!