sql >> データベース >  >> RDS >> Mysql

Railsがmysqlに接続しようとしているのはなぜですか?

    ActiveRecordがアプリケーションの一部である場合、起動時にデータベースへの接続を確立しようとします。接続に失敗すると、アプリケーションは起動しません。

    問題はここにあります:

    require 'rails/all'
    

    この行には、すべての「通常の」Railsコンポーネント、その中のActiveRecordが含まれます。その定義に行くと、次のようになります(レール3.2の場合):

    require "rails"
    
    %w(
      active_record
      action_controller
      action_mailer
      active_resource
      rails/test_unit
      sprockets
    ).each do |framework|
      begin
        require "#{framework}/railtie"
      rescue LoadError
      end
    end
    

    このコードを取得し、active_record行を削除して、代わりにrails/allに配置します ライン。現在、ActiveRecordは含まれておらず、次のようにコードにActiveRecord参照が含まれていると、アプリケーションは大音量で失敗します。

    config.active_record.mass_assignment_sanitizer = :strict
    

    これらも削除する必要があります。 database.ymlを削除する必要はありませんが、今は意味がないため、おそらく削除する必要があります。



    1. 致命的なエラー:nullでメンバー関数query()を呼び出す

    2. Oracle11g-テーブル結合を使用して関数からレコードを返す方法

    3. インクルード接続を使用するときにMySqlデータベースからフェッチする方法は?

    4. データベース設計:登録と検証