使用生成新迁移时bin/rails g migration CreateUser
第一行如下所示:
class CreateUser < ActiveRecord::Migration[5.1]
什么是[5.1]
代表什么以及它是如何工作的?
这是后续Rails 5 的 ActiveRecord::Migration 中的 [5.0] 是什么意思? https://stackoverflow.com/questions/35302197/what-s-does-the-5-0-in-rails-5-s-activerecordmigration-mean因为它没有解释这是如何合法的红宝石并且不会出现在搜索中[5.1]
or brackets
这是 Rails 5 中引入的新迁移版本控制。数字表示创建迁移时使用的迁移版本,在本例中为版本5.1
并且应该与 Rails 版本一起使用>= 5.0
.
这是一个类函数def self.[](version)
of the ActiveRecord::Migration
,这称为Compatibility.find(version)
并用于向后兼容。
以下是来自 GitHub 的代码参考:
- ActiveRecord::迁移::[] https://github.com/rails/rails/blob/96aa18974adf7321f265eafbdfe74c7c6e007cb0/activerecord/lib/active_record/migration.rb#L532
- ActiveRecord::迁移::兼容性 https://github.com/rails/rails/blob/96aa18974adf7321f265eafbdfe74c7c6e007cb0/activerecord/lib/active_record/migration/compatibility.rb
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)