2

バンドラーを使用するためにアップグレードしている Rails 2 アプリがあります。残念ながら、このアプリは active_record を使用していません (ただし、レールの他のすべてのコンポーネントを多用しています)。

以前は、アプリに active_record を無視させるために、environment.rb ファイルに次のように記述しました。

config.frameworks -= [ :active_record ]

ただし、指定されたデータベースがないため、明らかにエラーをスローする active_record のロードをバンドラーが強制しているようです。

Rails 2.3.16 を使用しています (実際には、このプロセスの一環としてアップグレードを試みています)。

私は少し調べましたが、私が見つけた最も近いものはこのオープンチケットでした:

https://github.com/wycats/bundler/issues/143

Gemfile.lock を明示的に変更し、active_record へのすべての参照を削除する唯一のオプションはありますか?

4

1 に答える 1

0
  • またはconfig/application.rb がないことを確認します。代わりに、ActiveRecord を使用しない標準的な Rails セットアップの場合、次の要件のみが必要です。require 'rails/all'require "active_record/railtie"

    require File.expand_path('../boot', __FILE__)
    
    require "action_controller/railtie"
    require "action_mailer/railtie"
    require "active_resource/railtie"
    require "rails/test_unit/railtie"
    require "sprockets/railtie"
    
    # Auto-require default libraries and those for the current Rails environment. 
    Bundler.require :default, Rails.env
    
  • config/application.rbでセクションを使用している場合config.generatorsは、行がないことを確認してg.orm :active_recordください。必要に応じて、これを明示的に に設定できますが、が完全に省略されているnil場合は、これがデフォルトになります。g.orm

  • オプションですが、 で、データベースのモジュールをロードする行をGemfile削除します。gemこれはgem "mysql"、たとえば行である可能性があります。

ここから)

于 2013-02-06T06:53:26.843 に答える