私は3つのデータベースのために別々の移行を持つRails 5アプリケーションを持っています。私は新しいデータベースを追加しています。私は通常rails g model field1:type1 field2:type2 field3:type
....を実行して、目的のフィールドを持つデータベーステーブルを作成します。私は希望のデータベースのモデルを生成し、それを対応するdb/migrateフォルダに入れる、生成モデルステートメントを作成したいと思います。カスタムレールを作成するにはどうすればいいですか?
私は、lib/generators内の追加データベース用のカスタムデータベース移行ジェネレータを用意しています。次にカスタム移行ジェネレータの例を示します。
lib/generators/stats_migration_generator.rb
require 'rails/generators/active_record/migration/migration_generator'
class StatsMigrationGenerator < ActiveRecord::Generators::MigrationGenerator
source_root File.join(File.dirname(ActiveRecord::Generators::MigrationGenerator.instance_method(:create_migration_file).source_location.first), "templates")
def create_migration_file
set_local_assigns!
validate_file_name!
migration_template @migration_template, "db_stats/migrate/#{file_name}.rb"
end
end
私はlibに/発電機/ mydb_model_generator.rbまたは何でも正しいファイル名の構造は、追加の各データベースのあるを作成する必要がありますと仮定します。私はGitHubのmodel_generator.rbファイルを見て、このようなことができると思っています。
- がどのように私は私が必要とするために必要なものを見つけるん:
lib/generators/stats_model_generator.rb require 'rails/generators/active_record/model/model_generator' class StatsModelGenerator < ActiveRecord::Generators::ModelGenerator source_root File.join(File.dirname(ActiveRecord::Generators::ModelGenerator.instance_method(:create_migration_file).source_location.first), "templates") def create_migration_file set_local_assigns! validate_file_name! migration_template @migration_template, "db_stats/migrate/#{file_name}.rb" end end
ここでのRails、the Rails Guide regarding creating and customizing GeneratorsとRuby on RailsのAPIドキュメントのためのgitリポジトリを見た後、私の質問がありますか?
- db/migrateフォルダ名を上書きする方法を見つけるにはどうすればよいですか?
- モデルジェネレータのrbファイルの名前はどのようにして知ることができますか?
私はモデルジェネレータを作成しようと考えていますか?