我正在创建具有多个数据库的RoR应用程序。 例如,我有两个数据库:
我通过创建两个database.yml文件并在模型中调用方法build_connection来将模型存储在单独的数据库中。 不幸的是,ActiveStorage不依赖于Models DB。
我看到ActiveStorage有自己的模型“ Blob和附件”,它们扩展了ActiveRecord :: Base。 要存储ActiveStorage条目,请运行model.rb文件中的has_one_attached()方法:
https://github.com/rails/rails/blob/master/activestorage/lib/active_storage/attached/model.rb
如何在ActiveStorage Engine中操纵此方法,而不是调用ActiveStores Blob,而是调用我自己的StoreBlob模型,该模型随后包含“ Establishment_connection STORE_DB”?
答案 0 :(得分:0)
使用您的连接在您的应用程序中创建模型ActiveStorage :: Blob和ActiveStorage :: Attachment,在我的情况下是postgres。
class ActiveStorage::Attachment < PostgresModelBase
我在其他类PostgresModelBase中定义了连接
之后,您需要将模型中的所有内容从activestorage gem复制到新模型中。
希望能成功!