Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我在ActiveRecord::MigrationContext#new中传递什么到模式_迁移_Ruby On Rails_Ruby_Rails Activerecord - Fatal编程技术网

Ruby on rails 我在ActiveRecord::MigrationContext#new中传递什么到模式_迁移

Ruby on rails 我在ActiveRecord::MigrationContext#new中传递什么到模式_迁移,ruby-on-rails,ruby,rails-activerecord,Ruby On Rails,Ruby,Rails Activerecord,自从最新的Rails版本以来,ActiveRecord::MigrationContext#new似乎采用了一个名为schema_migration的新参数。但是我不知道在那里要通过什么,在哪里可以得到它 我找不到关于它的任何信息。我在谷歌上搜索了一个小时,发现所有关于MigrationContext的例子都提到了较旧的rails版本。类MigrationContext似乎根本没有文档记录。从源代码来看,我也不知道要传递什么 一些背景:我正在尝试测试一些更危险的迁移。我找到了不少教程,看起来很简

自从最新的Rails版本以来,
ActiveRecord::MigrationContext#new
似乎采用了一个名为
schema_migration
的新参数。但是我不知道在那里要通过什么,在哪里可以得到它

我找不到关于它的任何信息。我在谷歌上搜索了一个小时,发现所有关于
MigrationContext
的例子都提到了较旧的rails版本。类MigrationContext似乎根本没有文档记录。从源代码来看,我也不知道要传递什么

一些背景:我正在尝试测试一些更危险的迁移。我找到了不少教程,看起来很简单,我就这么做了。但是准备测试数据库状态以便应用迁移的代码目前不起作用。遗憾的是,所有教程都使用了较旧的Rails版本,但由于参数数量错误而失败:

ActiveRecord::MigrationContext.new(迁移路径)

我找到了我需要通过的考试:

ActiveRecord::Base.connection.schema\u迁移
所以整个代码是:

migrations\u path=ActiveRecord::Migrator.migrations\u path
schema\u migration=ActiveRecord::Base.connection.schema\u migration
migration\u context=ActiveRecord::MigrationContext.new(迁移路径、模式迁移)

我在谷歌上搜索了一个小时,没有找到答案,但在发布问题后,我终于偶然发现了这个github问题,它也有同样的问题和解决方案。

您可能只想使用
ActiveRecord::Base.connection.migration\u context
而不是
ActiveRecord::MigrationContext.new
。不需要争论