我在MYSQL上做这个。
它将所有的表模式和数据放入它们自己的文件中,这样我就可以很容易地看到发生了什么变化。
与此线程中的大多数其他解决方案不同,此解决方案获取数据,这对于CMS很重要。
此解决方案不使用任何工具,只使用命令行脚本。
edit: 我发现我以前的代码有一个bug,导入顺序很重要。取下--compact
flag修复了错误。
for x in `mysql --skip-column-names -u root -ppassword dbname -e \'show tables;\'`; do
echo exporting $x
mysqldump -u root -ppassword --skip-add-drop-table --skip-add-locks --skip-disable-keys --skip-set-charset --extended-insert=FALSE --replace --skip-dump-date dbname $x > "./db/$x.sql"
done
旧代码
for x in `mysql --skip-column-names -u root -ppassword dbname -e \'show tables;\'`; do
mysqldump -u root -ppassword --compact --extended-insert=FALSE --replace dbname $x > "./db/$x.sql"
done
下面是如何导入
for x in `ls ./db/*.sql`; do
echo importing $x
mysql -pdbpassword dbname --force < $x
done