2010-07-20 119 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用於清除生產站點數據庫的放置命令的副本。