小编典典

将MySQL数据库置于版本控制之下?

mysql

我目前在我的PHP项目中使用SVN。我当时想我也应该使数据库处于版本控制之下,但是最好的方法是什么?我是否只是在SVN中的项目中制作了一个数据库文件夹,将SQL更改粘贴到名为from_1.0_to_2.0.sql的文件中并提交?


阅读 234

收藏
2020-05-17

共1个答案

小编典典

每当您对数据库进行更改时,都应将这些更改保存在迁移中,以便以后可以在更新代码的同时在其他服务器上运行。但是您基本上有了正确的想法。您可以编写一些工具来使其自动化。例如,对每个文件进行版本控制,然后migration_version在数据库中创建一个表,该表将包含数据库的当前版本。然后,您可以创建一个迁移脚本,该脚本将运行获取最新数据库所需的所有迁移。

请注意,如果要进行双向数据库版本控制(以便也可以还原到以前的数据库版本),则还需要针对每个版本为此编写必需的查询。

还有一些工具可以帮助您编写迁移,例如MySQLdiff

2020-05-17