嗨(对不起,如果之前有人询问,但我找不到答案)
我正在考虑使用Git(可能是Github)进行即将开展的项目。该项目将使用Yii框架,该框架需要一组数据库表等。当我们正在开发时,我们需要添加/编辑/删除表,但生产区域不会有这些表。我们如何解决环境之间的差异?
我现在唯一的想法就是以某种方式获取SQL的Schema,包括数据到.sql文件中,并使用一个脚本,它将自动更新我们的数据库,成为我们项目的一部分(将分开Github)。这是最好的主意吗?或者有什么我想念的东西?
感谢您提前提供任何帮助
答案 0 :(得分:5)
将所有数据库数据保存在源代码管理中通常不是一个好主意。我建议使用内置的migration tool来保持每个人的数据库都是最新的。如果你想避免一个空的生产数据库,我建议制作一个“种子”文件,其中包含一些预先填充的最小数据,如下所示:
INSERT INTO `tbl_user`
(`email`, `username`)
VALUES
('admin@example.com','admin'),
('guest@example.com','guest')
;
答案 1 :(得分:1)
表必须在同一个git存储库中吗?您可以创建两个存储库(一个用于表,一个用于代码),并使用Git的submodule功能将它们分组到一个存储库中。