簡體   English   中英

使Rails使用schema.rb而不是從數據庫中讀取模式

[英]Make Rails use schema.rb instead of reading the schema from the database

為什么ActiveRecord查詢數據庫以了解數據庫架構? 它不能簡單地讀取db/schema.rb嗎?

我有一些Sidekiq工作程序,出於性能考慮,它們無法連接到數據庫。 作業本身根本不使用數據庫(或者至少我沒有這樣做):

n = Notification.new
n.body = cache["body"] # cache is from Redis
...

但是第一行實際上調用了數據庫!

我可以做些什么使Rails讀取schema.rb ,或者無論如何在沒有數據庫的情況下實例化Notification

我不想創建一個不繼承自ActiveRecord的單獨模型。 我需要相同的模型:有時是從數據庫加載的,有時是從Redis加載的。

您可以創建一個代表對象Redis版本的單獨對象,並使用包含的模塊在AR和Redis版本之間共享方法。 ActiveRecord :: Base實例並非設計用於沒有數據庫的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM