代码之家  ›  专栏  ›  技术社区  ›  Zack Burt

有没有一种方便的方法可以在git提交中包含mysqldump?

  •  3
  • Zack Burt  · 技术社区  · 16 年前

    尤其是如果我用的是GitHub?

    3 回复  |  直到 16 年前
        1
  •  1
  •   Jed Schneider    16 年前

    添加一个脚本,将sql文件转储到特定于项目的某个位置(但在项目目录中)。

    mysqldump -uroot -p my_db > my_project/my_db.sql

    git add my_db.sql
    git commit -m "the schema changed"
    git push my_project github master
    

    您可以考虑以下几点:

    • 将转储文件放在github上或将其添加到repo意味着任何人都可以看到任何数据,比如密码和用户名,显然,使用的是假数据。
    • 您可能希望查看mysqldump选项,以便只转储模式而不转储数据 http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
        2
  •  2
  •   Sven Koschnicke    16 年前

    我认为当前的最佳实践是将生产系统中的生产数据拉入开发人员数据库并用它进行测试。通过风险投资公司分发数据会带来这样的风险,即这些数据与实际数据相差甚远。

    如果您的意思是只分发当前的数据库模式:像RoR这样的框架具有增量更新数据库模式的迁移。

        3
  •  0
  •   Alex    16 年前

    每次更改数据库时,请将mysqldump调用到同一个文件。然后在提交代码时将其提交到存储库。