將 Rails 從 5.2 升級到 6.0

將以 API 為中心的應用程式的 rails 版本從 5.2 升級到 6.0 時要處理的主要事情包括配置調整和修復棄用警告。

將 Rails 伺服器從 unicorn 切換到 puma

在 rails 應用中,常用的兩種流行 Web 伺服器中,unicorn 使用工作進程來處理請求,而 puma 則同時使用進程工作器和執行緒來處理請求。因此,從 unicorn 切換到 puma 不僅可以幫助提高並發性,還可以減少記憶體使用量。另外,自 rails 5.0 以來,預設使用的 Web 伺服器是 puma。

將Rails從 5.1 升級至 5.2

將應用程式從 Rails 版本 5.1 升級到 5.2 比從 4.2 到 5.05.0 到 5.1 要容易得多。流程的變化少了很多,測試失敗的可能性也更小。

如何將百萬筆記錄匯入mysql

使用名為 activerecord-import 的 gem,將大量記錄匯入 mysql 表變得更容易,這篇文章示範如何實現它。

將 Rails 從 5.0 升級到 5.1

將應用程式 rails 版本從 5.0 升級到 5.1 比從 4.2 升級到 5.0](/upgrade-rails-from-4-2-to-5.0) 更容易,因為這只是一個小版本更新。然而,可能仍有許多問題需要解決,無論是由於框架變化還是由於過時的 gems 依賴性。

Rails 自動加載線程不安全

Rails 框架會自動載入常數,以便在「開發」或「測試」等環境中,應用程式不需要在處理請求之前將所有內容載入到記憶體中。然而,眾所周知,自動載入在 rails 中是線程不安全的(至少對於低於 6 的版本而言),如果你碰巧使用了像 pumawebrick 這樣的線程伺服器,那麼很容易踩到由多線程引起的意外問題。

將 Rails 從 4.2 升級至 5.0

將 rails 升級到新的主要版本可能會比較棘手,因為框架本身可能會發生許多重大變化,或者專案中使用的許多 gem 可能會被棄用或不再受支援。然而,如果按照正確的程序進行,一切也會很順利。這篇文章根據我最近的實際經驗分享了將我們的 API 伺服器從 4.2.11 升級到 5.0.7.2 的過程。請注意,根據專案配置或依賴關係,不同專案的升級步驟可能略有不同。