我目前在PHP项目中使用SVN.我想我也应该让我的数据库处于版本控制之下,但最好的方法是什么?我只是在SVN中的项目中创建一个db文件夹,将SQL更改粘贴到一个名为from_1.0_to_2.0的文件中.sql和提交?
我目前在PHP项目中使用SVN.我想我也应该让我的数据库处于版本控制之下,但最好的方法是什么?我只是在SVN中的项目中创建一个db文件夹,将SQL更改粘贴到一个名为from_1.0_to_2.0的文件中.sql和提交?
无论何时对数据库进行更改,都应该在迁移中保存这些更改,以便以后在更新代码的同时在其他服务器上运行.但你的 idea 基本上是对的.你可以编写一些工具,使其更加自动化;例如,对每个文件进行版本设置,然后在数据库中创建一个类似于migration_version
的表,该表将包含数据库的当前版本.然后,您可以创建一个迁移脚本,该脚本将运行使数据库更新所需的所有migrations.
请注意,如果您想要双向的db版本控制(这样您也可以恢复到以前的db版本),那么您也需要 for each 版本编写所需的查询.
还有一些工具可以帮助您编写迁移,例如MySQLdiff