有没有一种简单的方法来运行一次迁移?我不想迁移到某个版本,我只想运行一个特定的版本。
您可以直接从 ruby 文件中运行代码:
rails console >> require "db/migrate/20090408054532_add_foos.rb" >> AddFoos.new.up
注意:非常旧版本的 rails 可能需要AddFoos.up而不是AddFoos.new.up.
AddFoos.up
AddFoos.new.up
另一种方法(没有 IRB)依赖于 require 返回一个类名数组的事实:
script/runner 'require("db/migrate/20090408054532_add_foos.rb").first.constantize.up'
请注意,如果您这样做,它不会更新schema_migrations表格,但无论如何这似乎就是您想要的。
schema_migrations
此外,如果它找不到您可能需要使用require("./db/..."或尝试的文件,require_relative具体取决于您的工作目录
require("./db/..."
require_relative