我知道我可以将所有MySQL代码手动复制到文件,然后将这些文件放入源控制中。但是有什么方法可以自动执行此操作?

我想对存储过程进行此操作,还要处理表/事件/触发创建脚本。

有帮助吗?

解决方案 2

根据Michal的答案,到目前为止,我使用的解决方案是:

#!/bin/bash
BACKUP_PATH=/root/database_name
DATABASE=database_name
PASSWORD=Password
rm -f "$BACKUP_PATH/*.sql"
mysqldump -p$PASSWORD --routines --skip-dump-date --no-create-info --no-data --skip-opt $DATABASE > $BACKUP_PATH/$DATABASE.sql
mysqldump -p$PASSWORD --tab=$BACKUP_PATH --skip-dump-date --no-data --skip-opt $DATABASE
hg commit -Am "automatic commit" $BACKUP_PATH

其他提示

您可以在数据更改上创建触发器,该触发器可以自动存储更改为某些源控件。但是,没有这种方式跟踪结构更改(表,存储过程等)的自动方法。因此,最好的方法可能是将数据库转储并将这些转储存储在源控件中。您可以定期执行此操作以自动化事物。

不太了解您要做什么。

看着 液体, ,也许它会做您需要的事情...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top