mysql - 清理 mysqldump 以跟踪 git 中的架构

标签 mysql git version-control

我想编写一组小 shell 脚本来帮助我在 git 中保存 MySQL 模式。但一个症结在于,mysqldump -uuser -ppass -d devdb > schema.sql 包含两件事,即使没有架构更改,也会随着时间的推移而发生变化:

  • AUTO_INCRMENT=[some number] 位于任何具有自动递增列的表的定义末尾
  • -- 转储于最后的 [日期和时间] 完成

我在网上搜索了没有这些东西的转储的方法,但没有成功。你能提供建议吗?或者我应该使用不同的命令或工具来获取用于版本控制的干净架构?

编辑:我刚刚找到了 --skip-dump-date 选项,这样就解决了第 2 点,但我仍然无法在不丢失自动递增数字的情况下摆脱自动递增数字其他表属性(或任何您所说的东西),例如引擎和默认字符集。

最佳答案

没有办法绕过#1,检查https://bugs.mysql.com/bug.php?id=20786 .

如评论部分所述,您可以使用 sed 命令将其过滤掉(除非您有一些使用它的 CREATE TABLE 语句)。

关于mysql - 清理 mysqldump 以跟踪 git 中的架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41082194/

相关文章:

git - 在生产服务器上使用Jenkins进行部署的最佳方法

git - 我如何使用 BitBucket+Git+Maven 发布

version-control - Mercurial:表示分支已通过测试?

xcode - 集成 TFS 版本控制的最佳方法是什么

C#如何使用C#向mysql中插入数据?

mysql - 带条件连接表

mysql - 如何选择所有连接记录都不符合条件的记录

git - SSH windows->Linux : key-based login steps have no effect. 仍然要求输入密码

git - Git 和 iCloud Drive 可以有效地一起使用吗?

c# - INNER JOIN 3 使用 LINQ 的数据表