适用于Rails 4和Rails 6的回形针

问题描述 投票:-1回答:1

背景

  • 我们有一个遗留的,庞大的Rails 4.2项目。称之为“经典”。
  • “经典”使用Paperclip处理第三方系统中资产(照片,附件等的存储)。
  • 我们现在将整体拆分为多个Rails 6微服务。称之为“新”。
  • “经典”和“新”共享相同的数据库。

目标

  • 由于现在已不推荐使用Paperclip,因此我们想停止使用它,而改为使用ActiveStorage

问题

  • “经典”和“新”将必须同时生活一段时间。
  • “ New”无法使用Paperclip,因为已弃用。
  • “经典”不能使用ActiveStorage,因为它至少需要Rails 5.2。 (“经典”实际上无法提升至5.2)
  • 因此,我们处于“新”可以使用较新技术的情况,但是需要更改数据库,“经典”将不兼容,并且它们共享相同的数据库,而“经典”不能使用较新的技术。

问题

  • 其他人是否曾经必须应对过这种情况并找到了可行的方法?也许有人有其他想法?

我的想法(可能是错误的)

  • 也许我们可以继续并在“新”中实施所有内容以使用ActiveStorage。我们可以提供一些RESTful端点,以允许检索/创建/更新/销毁第三方托管资产。然后在“经典”中,使用Paperclip的任何地方,我们都可以替换该逻辑,并使其在“新建”中对我们的新端点进行RESTful调用。除此之外,我们还必须设计一种策略,以识别通过Paperclip管理的每项资产,然后在新的ActiveStorage模式中创建等效记录。这样,“新”中的逻辑将能够访问过去的资产。我不确定这是否是一个现实的方法,并且它可能存在一些我忽略的严重缺陷,但这是一个想法。

背景我们有一个遗留的,完整的Rails 4.2项目。称之为“经典”。 “经典”使用Paperclip在第三方系统中处理资产(照片,附件等)的存储。我们是...

ruby-on-rails paperclip rails-activestorage
1个回答
0
投票

使用此Paperclip to ActiveStorage Migration doc作为指导,我能够成功地制定出解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.