2010-12-03 4 views
1

내 레일 앱을 호스팅하는 프로덕션 서버가 지워지고 다시 시작되었습니다. 결과적으로 새 시스템에 레일 앱을 전송해야합니다. 소스는 문제가 아니라 그냥 다시 자식에서 끌어낼 수 있지만 데이터베이스는 또 다른 문제입니다. phpmyadmin이나 데이터베이스에 접근하기위한 비슷한 것을 설치할 수는 있지만 현재 데이터베이스를 덤프하고 새 서버로 가져올 수있는 레일 (rake 태스크)에 뭔가가 있는지 궁금합니다.Rails를 사용하여 데이터베이스 전송

답변

7

레일즈 또는 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 databaseName을" 을 원격 서버를 시드하려는 경우 – David

+0

정말 쉽습니다. 공유 주셔서 감사합니다 .- –

+0

데이터 또는 테이블 만 복사합니까? –

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 
+0

감사합니다. 수동 명령이 작동하면 DB를 응용 프로그램과 함께 백업 할 수 있도록이 막대를 사용합니다 (일단 프로덕션 서버의 백업이 다시 작동하면) – Arcath

관련 문제