如何在Rails5中调用rake任务中的迁移

时间:2018-03-20 20:08:14

标签: activerecord ruby-on-rails-5 rake-task

在Rails 5中,我无法再使用rake任务迁移不同目录中的文件。我收到错误ActiveRecord::UnknownMigrationVersionError: No migration with version number 20180209214145

知道如何在Rails 5中做到这一点?我认为行ActiveRecord::Migrator.migrations_paths = ['db/manual_migrate']不再按预期工作,但我不太确定如何修复它。

  desc 'Run db:migrate:up on a task we wish to migrate manually (e.g. not on all servers).' \
    'VERSION is required.'
  task manual_migrate: [:environment, :load_config] do
    raise 'VERSION of migration is required for this task!' unless ENV['VERSION']
    default_paths = ActiveRecord::Migrator.migrations_paths
    ActiveRecord::Migrator.migrations_paths = ['db/manual_migrate']
    begin
      Rake::Task['db:migrate:up'].invoke
    ensure
      ActiveRecord::Migrator.migrations_paths = default_paths
    end
  end

0 个答案:

没有答案