我有一个Rails 5应用程序,它有三个数据库的单独迁移。我正在添加一个新的数据库。我通常做一个rails g model field1:type1 field2:type2 field3:type
....来创建我的数据库表与所需的领域。我想创建生成模型语句,它将生成所需数据库的模型并将其放入相应的db/migrate文件夹中。如何创建自定义Rails生成模型函数?
我有自定义数据库迁移生成器的其他数据库在lib /生成器。以下是自定义迁移生成器的示例。
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文件?
我的假设在我尝试创建模型生成器时是否正确?