2

嗨(对不起,如果以前有人问过这个问题,但我找不到答案)

我正在考虑将 Git(可能是 Github)用于即将开展的项目。该项目将使用 Yii 框架,它需要一组数据库表等。在我们进行开发时,我们需要添加/编辑/删除表,但生产区将没有这些表。我们如何解决环境之间的差异?

我现在唯一的想法是以某种方式将包含数据的 SQL Schema 获取到 .sql 文件中,并使用一个脚本,该脚本将自动更新我们的数据库,成为我们项目的一部分(这将是 Github 的一部分) . 这是最好的主意吗?还是我缺少什么?

感谢您提前提供任何帮助

4

2 回答 2

5

将所有数据库数据保存在源代码管理中通常不是一个好主意。我建议使用内置的迁移工具来保持每个人的数据库都是最新的。如果你想避免一个空的生产数据库,我建议制作一个“种子”文件,预先填充一些最少的数据,如下所示:

INSERT INTO `tbl_user`
(`email`, `username`)
VALUES
('admin@example.com','admin'),
('guest@example.com','guest')
;
于 2012-08-22T13:14:58.957 回答
1

表必须在同一个 git 存储库中吗?您可以创建两个存储库(一个用于表,一个用于代码)并使用 Git 的子模块功能将它们分组到一个存储库下。

于 2012-08-22T13:15:01.063 回答