2015-05-31 87 views
1

我們有一個傳統的PostgreSQL數據庫,完全可以從Rails應用程序訪問,但是當供應商提供更新時,他們對數據庫執行的一致性檢查之一會失敗,因爲Rails在那裏構建了一個「新」表,模式遷移表。是否有可能指示在其他地方創建此表?或者有可能在Rails 4中使用模式緩存來實現這一點? release notes關於一般事情的3.3節說:「架構緩存轉儲(提交) - 爲了提高Rails引導時間,而不是直接從數據庫加載架構,從轉儲文件加載架構。」Can Rails模式表可以在數據庫之外嗎?

回答

1

我發現了一篇關於這最後一次的舊博客帖子,我試過了here。複製相關部分:

爲了讓您的架構的轉儲,請執行以下rake任務:

RAILS_ENV=production bundle exec rake db:schema:cache:dump 

這樣將生成一個文件db/schema_cache.dump,那Rails會使用加載SchemaCache實例的內部狀態。

要禁用架構緩存轉儲,以下內容添加到您的config/production.rb文件:

config.active_record.use_schema_cache_dump = false 

如果你想清楚的架構緩存,執行:

RAILS_ENV=production bundle exec rake db:schema:cache:clear 
相關問題