ActiveRecord Migration 之后的括号 [5.1] 是什么,它是如何工作的



使用 bin/rails g migration CreateUser 生成新迁移时,第一行将如下所示:

class CreateUser < ActiveRecord::Migration[5.1]

[5.1]代表什么,它是如何工作的?

这是 Rails 5 的 ActiveRecord::Migration 中的 [5.0] 是什么意思的后续? 因为它没有解释这是合法的 Ruby,也没有出现在使用 [5.1]brackets的搜索中

这是 Rails 5 引入的新迁移版本控制。该数字表示创建迁移时使用的迁移版本,在本例中为 5.1 版本,应与 Rails 版本 >= 5.0 一起使用。

这是一个类函数def self.[](version) ActiveRecord::Migration,它调用Compatibility.find(version)并用于向后兼容。

以下是来自 GitHub 的代码参考:

  • 活动记录::迁移::[]
  • 活动记录::迁移::兼容性

最新更新