我正在努力改进处理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,我可以编写迁移,但我认为这将是一个很棒的工具,可以“识别我的定义中的更改”,并自动同步数据库。
非常感谢!