【问题标题】:Possible to patch a mysql sql file without using phpmyadmin?可以在不使用 phpmyadmin 的情况下修补 mysql sql 文件吗?
【发布时间】:2011-11-02 18:42:57
【问题描述】:

如果我有一个 cms、购物车或一些基于 db 的 Web 脚本,假设它有一个包含 50 个表的数据库

如果我有一个包含一些 ALTER 命令和一些 UPDATE 命令的 .sql 文件(称为 patch.sql),我可以转到 phpmyadmin,导入 patch.sql 文件,它会将更改“应用”到我的数据库.

但是假设我先将我的数据库导出到 mydb.sql 文件 有没有办法在不使用数据库的情况下“应用”从“patch.sql”到“mydb.sql”的更改?

我想出了一些类似的命令行

mysql.exe merge patch.sql mydb.sql

什么的,但我没有看到类似的东西。

phpmyadmin 是唯一的方法吗?

【问题讨论】:

  • 从mydb.sql文件中删除无用的行?
  • 这不适用于我所说的。
  • 确实是的。您想将文件 mydb.sql 上的更新用于 patch.sql 中的数据库。删除不需要的命令,使用phpmyadmin导入即可。
  • @AurelioDeRosa 这很快就变得很重要,因为通常没有要删除的内容,而是要更改的内容。如果您对数据库的更新将 50 列添加到 20 个表,更改 10 个表中 20 列的列类型,向现有表添加 15 个新索引等等,那么您需要手动合并这些工作。

标签: mysql merge patch


【解决方案1】:

如果您的目标是以后能够重新导入 mydb.sql 并获得数据库的修补版本,那么不,没有工具可以做到这一点。 patch.sql 可能根据您的描述改变了数据库的结构以及数据本身。您应该做的是将补丁应用到您的数据库,然后将您的数据库导出到一个新的 .sql 文件。

【讨论】:

  • 是的,好的,这就是我一直在做的和我的想法。感谢您的确认:)
猜你喜欢
  • 1970-01-01
  • 2013-11-14
  • 1970-01-01
  • 2016-11-12
  • 2018-04-10
  • 2015-07-03
  • 1970-01-01
  • 1970-01-01
  • 2012-04-28
相关资源
最近更新 更多