rails mysql資料庫備份

2021-08-30 11:45:56 字數 1659 閱讀 9275

在#/lib/tasks下建立db.rake,把mccxj給的**拷貝進去,然後按alt+shift+r調出執行rake任務的對話方塊,點「重新整理任務」按鈕,列表中會出來「db:backup:create」/「db:backup:destroy」/「db:backup:rebuild」三個任務,單擊相應的任務就可以備份和恢復資料庫。

下面示例說明如何在rails應用網頁中備份和恢復mysql資料庫。

(1)建立控制器

ruby**

generate controller dbctl index backup restore

(2)編寫dbctl控制器**

ruby**

class dbctlcontroller :index

end

def restore

%x redirect_to :action => :index

end

end

(3)編寫views/dbctl/index.html.erb頁面**

ruby**

'backup'} %>

'restore'} %>

執行你的應用程式就可以了。

說明幾點:

rails中可以用%x命令執行系統命令,借助剛才建立的db.rake,可以使用rake db:backup:create建立資料庫備份,使用rake db:backup:rebuild恢復資料庫。

如果你沒有建立db.rake,那麼控制器**就這麼寫

ruby**

class dbccontroller #"

redirect_to :action => :index

end

def restore

backup_folder = file.join(env["dir"] || "db", 'backup')

fileutils.mkdir_p(backup_folder)

db_config = activerecord::base.configurations[rails_env]

db_config = activerecord::base.configurations[rails_env]

bakfile = env['file']

(dir.new(backup_folder).entries - ['.', '..']).sort.reverse.each do |backup|

(bakfile = backup and break) if backup.starts_with?(rails_env)

end unless bakfile

raise 'could not find the backup file!' unless bakfile

activerecord::base.establish_connection(rails_env)

activerecord::base.connection.execute('set foreign_key_checks = 0')

puts "rebuild database # from #"

system "mysql -u # ## # :index

end

end

資料庫備份

匯出方案 匯出自己的方案exp scott tiger oracle owner scott file d scott.dmp 成功匯入方案 imp userid retest retest oracle file e rem.dmp full y 匯出表 兩百萬資料 exp userid scot...

資料庫備份

備份 使用 isql usa p ssybase 命令連線至資料庫,依次備份早教系統edu cfg和edu stat兩個使用者資料庫。前提條件是backup server服務要啟動 dump database edu cfg to home sybase edu cfg jiangsu 201405...

資料庫備份

sqlserver 作業 新建作業 1.常規中,填寫名字及說明 2.步驟中新建步驟,填寫步驟名稱,選擇型別 transact sql指令碼 t sql 填寫命令,內容如下 declare name varchar 250 set name d bakdb 備份檔案名稱 convert varchar...