如何将MySQL代码放入源代码控制中?

时间:2010-04-27 12:21:34

标签: mysql version-control sql-scripts

我知道我可以手动将所有MySQL代码复制到文件中,然后将这些文件放入源代码控制中。但是有什么办法可以自动完成吗?

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

3 个答案:

答案 0 :(得分:4)

您可以在数据更改时创建触发器,这会将更改自动存储到某些源控件。但是,没有自动方式来跟踪结构更改(表,存储过程等)。因此,最好的方法是转储数据库并将这些转储存储在源代码管理中。您可以定期执行此操作以自动执行此操作。

答案 1 :(得分:4)

根据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

答案 2 :(得分:1)

真的不明白你想做什么。

看看Liquibase,也许它会做你需要的......