【发布时间】:2021-07-16 03:49:13
【问题描述】:
add_index :tests, [:title, :level], unique: true
我如何将title 更改为body 并保存在 schema.rb
我厌倦了手动更改它,但它没有保存在 schema.rb 中
【问题讨论】:
标签: ruby-on-rails
add_index :tests, [:title, :level], unique: true
我如何将title 更改为body 并保存在 schema.rb
我厌倦了手动更改它,但它没有保存在 schema.rb 中
【问题讨论】:
标签: ruby-on-rails
您需要再次运行迁移。
您的架构版本已设置为迁移的 id。
ActiveRecord::Schema.define(:version => MIGRATION_ID) do
# schema definition ...
end
这就是为什么即使您再次运行所有迁移也没有任何变化,因为版本告诉 Active Record 它不应该运行比其版本号更早的迁移。
您需要回滚之前的迁移,然后再次运行迁移。
rake db:rollback # it will rollback the last migration applied.
rake db:migrate
顺便说一句,此解决方案应仅用于开发环境。如果您想更改生产数据库,您应该创建另一个迁移来更改列。
【讨论】: