使用Rails传输数据库

Arc*_*ath 1 database ruby-on-rails

托管我的rails应用程序的生产服务器正在被擦除并重新启动,因此我需要将我的rails应用程序转移到新系统上.源不是一个问题,我可以再次从git下拉,但数据库是另一回事.我可以安装phpmyadmin或类似的东西来访问数据库,但我想知道是否有东西在rails(可能是一个rake任务),让我转储当前的数据库,然后将其导入到一个新的服务器上.

Ari*_*jan 7

你不需要Rails或PHPMyAdmin.假设你正在使用MySQL,只需ssh到你的服务器:

mysqldump -u root -p databasename > database.sql
Run Code Online (Sandbox Code Playgroud)

然后在另一个系统上:

mysql -u root -p newdatabasename < database.sql
Run Code Online (Sandbox Code Playgroud)

好吗,对吧?


aur*_*bee 5

如果它是一个重复的任务,你也可以把它放到lib/tasks下的rake任务中:

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
Run Code Online (Sandbox Code Playgroud)