Migration 如何从rails6中的rake文件迁移特定迁移
在我的rails 4.2应用程序中,我使用一个任务执行向上迁移,如下所示:Migration 如何从rails6中的rake文件迁移特定迁移,migration,ruby-on-rails-6,ruby-on-rails-4.2,Migration,Ruby On Rails 6,Ruby On Rails 4.2,在我的rails 4.2应用程序中,我使用一个任务执行向上迁移,如下所示: ActiveRecord::Migrator.run(:up, ActiveRecord::Migrator.migrations_path, 20130306070257) 但是,在我将应用程序升级到rails 6之后,这就不起作用了。显示的错误是: NoMethodError: undefined method `migrations_path' for ActiveRecord::Migrator:Class D
ActiveRecord::Migrator.run(:up, ActiveRecord::Migrator.migrations_path, 20130306070257)
但是,在我将应用程序升级到rails 6之后,这就不起作用了。显示的错误是:
NoMethodError: undefined method `migrations_path' for ActiveRecord::Migrator:Class
Did you mean? migrations_paths
migrations_paths=
然后,我尝试了以下功能:
ActiveRecord::Migrator.run(:up,20130306070257).
然后,我得到了以下错误:
ActiveRecord::Migrator.run(:up,
NoMethodError:ActiveRecord::Migrator:类的未定义方法“run”
在应用程序路径中,如果我给出:rake db:migrate:up VERSION=20130306070257,它就会工作
请帮助我更正此任务。谢谢。在rails 6中,运行是实例方法。() 所以你可以这样使用它:
ActiveRecord::Migrator.new(:up, [ActiveRecord::MigrationProxy.new('CreateTenants', nil, 'db/migrate/20130306070257_create_tenants.rb', '')], ActiveRecord::SchemaMigration, nil).run
将“ClassName”替换为您的类名。例如,如果您的迁移从类CreateUser开始