Ruby on rails “为什么?”;“rails生成迁移”;调用;调用activerecord";
运行时:Ruby on rails “为什么?”;“rails生成迁移”;调用;调用activerecord";,ruby-on-rails,ruby,migration,invoke,Ruby On Rails,Ruby,Migration,Invoke,运行时: rails generate migration <someaction> field:type rails生成迁移字段:type 我可以看到它正在执行两个动作: 调用激活记录 创建迁移文件 我完全理解它为什么要生成迁移文件,但为什么要调用ActiveRecord?这让我很烦恼,因为如果我想手动创建迁移文件怎么办?如何模拟此调用(如果有必要…)被调用以生成迁移文件 如果仔细观察,迁移文件的超类是一个类。MigrationGenerator生成器: 1) 加载您的ORM
rails generate migration <someaction> field:type
rails生成迁移字段:type
我可以看到它正在执行两个动作:
如果仔细观察,迁移文件的超类是一个类。MigrationGenerator生成器: 1) 加载您的ORM(Rails中默认为活动记录)以使其扩展正确的“ORM”::迁移类(默认情况下,这也是ActiveRecord::迁移) 2) 它本身是
NamedBase
生成器的一个扩展,可以查看正在运行的活动记录是否需要决定是否应该将表名多元化。如果你跑步,情况就是这样
rails generate migration AddPartNumberToProducts part_number:string
或
您在文件中得到相同的结果
因此,简单的回答是,您不需要调用active_record来手动创建迁移,但是如果您这样做并且您正在使用active record,请确保您的表名在迁移文件中是复数的
rails generate migration AddPartNumberToProduct part_number:string