簡體   English   中英

如何在從Rails4升級到Rails5時修復activeuuid gem錯誤

[英]How to fix activeuuid gem error while upgrading from Rails4 to Rails5

我正在將我的應用程序從rails 4更新為rails 5.我的應用程序正在使用activeuuid gem。 activeuuid gem在內部使用alias_method_chain,這個方法在rails 5中已棄用。現在當我嘗試啟動rails console時,我收到錯誤 -

用於ActiveRecord :: ConnectionAdapters :: Column的未定義方法`alias_method_chain':Class(NoMethodError)

無論如何我可以繼續在rails 5中使用activeuuid gem並且不需要做任何返工嗎?

Rails 5內置了對UUID主鍵的支持,所以理想情況下你應該遠離這個gem ...

嘗試從項目中刪除此gem,一切都必須正常。

資料來源: https//github.com/jashmenn/activeuuid/issues/80

但是,如果你想繼續使用這個gem,你可以找到(或創建自己的)fork。 最初提交到原始寶石是4年前(在rails 5發布之前)。 但是我看到了支撐軌道5的叉子

由於我沒有收到任何解決這個問題的解決方案,在搜索了所有的問題后,我來到了解決方案 -

  1. 從應用程序中刪除了activeuuid gem。
  2. 使用Ruby的SecureRandom類實現uuids - Rails 5 Mysql UUID
  3. 如果有人在保存記錄時發現問題,因為activeuuid將數據庫列限制為16字節,可以使用SecureRandom.hex(8).encode(“UTF-8”)

暫無
暫無

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

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