Ruby on rails 我在ActiveRecord::MigrationContext#new中传递什么到模式_迁移
自从最新的Rails版本以来,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似乎根本没有文档记录。从源代码来看,我也不知道要传递什么 一些背景:我正在尝试测试一些更危险的迁移。我找到了不少教程,看起来很简
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
。不需要争论