您好(很抱歉,如果之前有人问过这个问题,但我找不到答案)
我正在考虑将 Git(可能是 Github)用于我将要从事的项目。该项目将使用 Yii 框架,它需要一组数据库表等。当我们在开发中工作时,我们需要添加/编辑/删除表,但生产区域不会有这些表。我们如何解决环境之间的差异?
我现在唯一的想法是以某种方式将包括数据的 SQL 模式获取到一个 .sql 文件中,并使用一个脚本,它会自动更新我们的数据库,成为我们项目的一部分(它将分开的 Github)。这是最好的主意吗?还是我遗漏了什么?
提前感谢您的帮助
最佳答案
将所有数据库数据保存在源代码管理中通常不是一个好主意。我建议使用内置的 migration tool使每个人的数据库保持最新。如果您想避免空的生产数据库,我建议制作一个“种子”文件,其中预填充一些最少的数据,如下所示:
INSERT INTO `tbl_user`
(`email`, `username`)
VALUES
('admin@example.com','admin'),
('guest@example.com','guest')
;
关于带有数据库的 Github 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12073875/