2010-07-20 118 views
0

在本地计算机上,我有一个运行XAMPP的测试环境。我正在研究PHP/MySQL应用程序。从测试数据库更新生产数据库的脚本

现在我经常对本地网站进行更改,但是当我想上传时,我必须做很多工作。这就是我现在所做的。

我导出本地数据库槽phpMyAdmin
我清除我的远程数据库 我导入导出的数据库。

有时DB会很大,所以需要很长时间。有没有我可以使用的脚本来加速这个过程。

我有生产DB
当我做的网站被关闭,所以它只是一面镜子更改本地数据库进行

回答

1

您可以使用Phing's DBDeploy Task来管理数据库迁移。这具有如下优点:对数据库的任何更改都将成为版本控制系统的组成部分。

下面是描述如何做到这一点的文章:

的替代物是罗布·艾伦的Akrabat_Schema_Manager,我想学说也有一个。

+1

本文的链接现在是404.Google缓存位于http://webcache.googleusercontent.com/search?q=cache%3Ahttp%3A%2F%2Fwww.davedevelopment.co.uk%2F2008% 2F04%2F14%2Fhow到简单的数据库迁移与 - phing-和dbdeploy%2F – Shoan 2010-08-11 17:00:17

0

这里时,没有远程访问备份和迁移脚本,我使用

#!/bin/bash 

email="[email protected]" 

dbhost="dbhost" 
testdbname="testdbname" 
productiondbname="productiondbname" 
dbuser="dbuser" 
dbpass="userpass" 

mkdir -p ~/archives 
cd ~/archives 
suffix=$(date +%y%m%d) 
echo "SQL Backup of \"$dbname\" attached" >> tmp.txt 
mysqldump --opt -u $dbuser -p$dbpass -h $dbhost $testdbname > SQL_"$testdbname"_$suffix.sql 

mysql -u $dbuser -p$dbpass -h $dbhost $productiondbname < ../backup/drop/drop.sql 
mysql -u $dbuser -p$dbpass -h $dbhost $productiondbname < SQL_"$testdbname"_$suffix.sql 

tar zcf SQL_Backup_"$testdbname"_$suffix.tar.gz *.sql 
mutt -s "SQL Backup of \"$testdbname\"" -a SQL_Backup_"$testdbname"_$suffix.tar.gz $email < tmp.txt 
rm -rf {*.sql,tmp.txt} 

该脚本可以运行从shell和将备份您的数据库执行,并通过电子邮件发送给你,然后。 drop.sql文件是phpmyadmin用于清除生产站点数据库的放置命令的副本。