我正在使用rails與oracleenhanced
適配器爲傳統應用程序創建新接口。Rails:rake db:migrate * very * slow on Oracle
數據庫遷移成功完成,但是在耙取完成之前需要花費非常長的時間。數據庫更改發生得非常快(1或2秒),但db/schema.db
轉儲需要一個多小時才能完成。 (請參閱下面的示例遷移。)
這是一個相對較大的模式(大約150個表),但我相信不應花這麼長時間才能轉儲出每個表的描述。
有沒有辦法通過只取最後的schema.db
並應用遷移中指定的更改來加速?或者我能夠完全跳過這個模式轉儲?
我明白這個schema.db
是用來從頭開始創建測試數據庫,但是這種情況下,表格觸發器中有很大一部分數據庫邏輯,它們不包含在schema.rb
之內,所以耙測試是在任何情況下對我們都沒有好處。 (這是一個完全不同的問題,我需要一些其他的點進行梳理。)
[email protected]:~/rails/voyager$ time rake db:migrate (in /home/dgs/rails/voyager) == 20090227012452 AddModuleActionAndControllerNames: migrating ================ -- add_column(:modules, :action_name, :text) -> 0.9619s -> 0 rows -- add_column(:modules, :controller_name, :text) -> 0.1680s -> 0 rows == 20090227012452 AddModuleActionAndControllerNames: migrated (1.1304s) ======= real 87m12.961s user 0m12.949s sys 0m2.128s
很酷。我將在oracle_enhanced_adapter.rb中發揮一下,看看我能找到什麼。 我懷疑它被綁定到模式中,因爲在數據庫中有許多具有不同名稱的相同模式。 乾杯 – 2009-03-02 20:22:16