2010-12-03 48 views
1

託管我的Rails應用程序的生產服務器正在被擦除並重新啓動,因此我需要將我的Rails應用程序傳輸到新系統上。源不是一個問題,我可以再次從git下拉,但數據庫是另一回事。我可以安裝phpmyadmin或類似的東西來訪問數據庫,但我想知道是否有任何東西在rails(可能是一個rake任務),讓我轉儲當前的數據庫,然後將其導入到一個新的服務器。使用Rails傳輸數據庫

回答

7

你不需要Rails或PHPMyAdmin。你使用MySQL假設,只是ssh到你的服務器:

mysqldump -u root -p databasename > database.sql 

然後在另一個系統上:

mysql -u root -p newdatabasename < database.sql 

容易,是吧?

+0

「的mysql -h remote.server.example.com -u用戶名-psecret數據庫名稱」 如果你想播種遠程服務器 – David 2010-12-03 11:09:41

+0

真的很容易..感謝分享:-) – 2010-12-03 11:21:40

5

如果是重複任務,你也可以將它放入一個耙子任務下的lib /任務:

namespace :db do 
    desc "Dump database" 
    task :dump => :environment do 
    exec "mysqldump -u root -p databasename > database.sql" 
    end 
    desc "Restore database" 
    task :restore => :environment do 
    exec "mysql -u root -p newdatabasename < database.sql" 
    end 
end