在#/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...