【发布时间】:2021-11-05 14:02:35
【问题描述】:
我目前正在升级 Rails 6.1,想知道是否有办法将新的 service_name 列设置为 ignored。我知道如何使用 ActiveRecord 表执行此操作,但不知道 Rails 的内部表(不知道如何称呼它)。
那么抛开以上细节,如何设置active_storage_blobs 表中的列被忽略?
【问题讨论】:
-
你可以通过猴子补丁 ActiveStorage::Blob 类来做到这一点,但你为什么认为它首先是必要的?
-
是的,我宁愿不确定,但是,我在一个繁忙的应用程序中运行,不想经历停机时间来执行此升级。 6.1 中 ActiveStorage Blob 所需的更改有点锁步问题。在 6.1 ActiveStorage Blob 中需要 service_name。理想情况下,我能够向后移植更改(即在 6.0 中运行迁移),然后我不必在升级和迁移期间锁定数据库/停机。然而,在 6.0 中,这种迁移不起作用除非我可以忽略该列。可以monkeypatch,我会调查它。希望有一个简单的“Rails 方式”
标签: ruby-on-rails rails-activestorage