Linux

Ruby on Rails 生產環境存在 SQL 問題

  • February 25, 2013

我對 Rails 應用程序及其各自的部署過程相當陌生。我計劃在生產環境中的伺服器上執行的應用程序遇到了一些問題。應用程序和 rake 在查詢生產數據庫資訊時沒有問題,但是每當應用程序或 rake 需要修改生產數據庫時就會出現問題。我所有的環境都在同一台伺服器上,使用相同的使用者。伺服器是正確配置的 MySQL 伺服器。所有修改都在測試和開發環境中成功完成。這就是發生的事情:

  • Rake/Application 成功連接到生產數據庫(使用 SQL 日誌驗證)
  • 然後 Rake/Application 成功修改資訊(也已驗證)
  • (現在發生了奇怪的事情) rake/application 然後 ROLLBACK 是它寫入的資訊(也已驗證)
  • 如果我執行 rake,我會被告知伺服器拒絕了我的連接

我在其他兩個環境中以相同的順序執行了相同的命令序列,它們都完成了,並且 COMMIT 成功。

  • 數據庫配置的條目是相同的,除了數據庫名稱(-dev、-test、*)。
  • 所有數據庫都存在
  • 所有數據庫權限都相同
  • 所有三個數據庫中都存在所有必需的表

此外,我成功地使用 gmysqlcc 連接到生產數據庫,並使用與應用程序/rake 相同的憑據執行應用程序或 rake 執行的 EXACT 命令。完美執行,沒有缺陷或抱怨。

通過修改酪蛋白的生產環境配置解決了這個問題。當酪蛋白在嘗試向我發送有關更新的郵件時遇到錯誤時,Rails 正在回滾送出。

這個問題會更早發現 - 如果酪蛋白提供了更詳細的錯誤消息。

引用自:https://serverfault.com/questions/472699