Rails プロジェクト用の gem を作成していますが、ジェネレーターとイニシャライザーがどのように機能するかを理解するのに苦労しました。モジュールを初期化し、gem が移行ファイルを使用して作成する必要があるテーブルに関連するモデルから、データベースからいくつかのものをロードしたいと考えています。
問題は、Railtie を作成して gem lib ディレクトリに配置した場合、ジェネレーターを実行しようとすると (たとえば、移行テンプレート ファイルを作成するため)、必要なテーブルがまだ存在しないにもかかわらず、既に Railtie を実行しようとしていることです。 (移行ファイルがまだ実行されていないため)。
Railtie の「スコープ」を制限するにはどうすればよいですか? Rails をサーバー (webrick、thin など) またはコンソールから起動するときにのみ実行したいのですが、rake タスク (ジェネレーターを含む) では実行したくありません。rake タスク (ジェネレーターなど) は Rails 環境全体をロードすると思います。私の問題はそこから来るはずです。私がやりたいことをするためのより簡単な方法はありますか?
助けやアドバイスをいただければ幸いです。