ActiveRecord 迁移后的括号 [5.1] 是什么?它是如何工作的? [复制]

2024-05-02

使用生成新迁移时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(使用前将#替换为@)

ActiveRecord 迁移后的括号 [5.1] 是什么?它是如何工作的? [复制] 的相关文章

随机推荐

  • 在 Quickbooks v3 api 中断开应用程序连接

    我正在研究 Quickbooks v3 api 集成 我已经完成了所有集成 但陷入了 Quickbooks 从应用程序断开连接的状态 我正在使用以下代码片段来断开与 Quickbooks 的连接 final IAPlatformClient
  • 如何确保用户只提交英文文本

    我正在构建一个涉及自然语言处理的项目 由于nlp模块目前只处理英文文本 所以我必须确保用户提交的内容 不长 只有几个单词 是英文的 是否有既定的方法来实现这一目标 首选 Python 或 Javascript 方式 如果内容足够长我会推荐一
  • 为什么我必须在 POD 类型中重载operator==?

    我有一个定义如下的结构 struct Vec3 float x y z 当我尝试使用时std unique on a std vector
  • 如何从日期中获取微秒?

    我正在尝试从 a 中获取微秒Date 但我不能 Date date new Date No Date仅存储毫秒精度的值 如果您想要微秒精度 您可能需要看看JSR 310 http sourceforge net apps mediawiki
  • 如何更改 JAR 文件中的常规 JAVA COFFEE CUP 图标

    我可以更改框架中的 JAVA COFFEE CUP 图标 上 左 但如何更改 RUNNABLE JAR 文件的常规 JAVA COFFEE CUP 图片 是否有可能仅更改一个 JAR 文件的文件图标 谢谢 JAR 文件没有图标 操作系统为其
  • 如何在 Entity Framework Core 中调用标量函数

    下列的本文 http anthonygiretti com 2018 01 11 entity framework core 2 scalar function mapping 我试图使用 Entity Framework Core 将内部
  • 在两个页面/选项卡之间进行通信

    我想要一个 JavaScript 文件来控制两个 HTML 文件同时地 div div 那是第一页 接下来是第二页 div div
  • FXML load() 期间出现 JavaFX IllegalAccessException

    我有一个由以下代码调用的对话框窗口 DialogController是使用模式对话框窗口的辅助类 它主要将控制器引用与其窗口捆绑在一起 void handleServicesEdit ActionEvent event throws IOE
  • Laravel 5.3 Blade 解码 HTML 特殊字符

    我在数据库中保存了一些 HTML 代码 当我将这些数据发送到刀片时 CSS 无法正常工作 在页面源代码中我发现 我该用什么方法将 lt 转换为 有人可以帮助我吗 更改您的语法 to 这应该够了吧
  • 将我的应用程序翻译成匈牙利语

    我用英语开发了一个应用程序 我必须为客户翻译一些匈牙利语文本 我在values 文件夹中有一个menu xml 文件 并在values hu 文件夹中创建一个新的menu xml 我启动手机并选择马扎尔语言 选择了好的语言 我看到了匈牙利语
  • Kotlin:使用地图变换时 {} 和 () 之间的区别?

    我是科特林新手 我总是使用带花括号的地图变换 然后 为什么这有效 gt val x someList map SomeConstructor 这不是吗 val x someList map SomeConstructor 我在在线教程的任何
  • 使用 glmnet 和 lm 的普通最小二乘法

    这个问题是在stackoverflow com q 38378118 https stackoverflow com q 38378118但没有得到满意的答复 0 的 LASSO 相当于普通最小二乘法 但对于以下情况似乎并非如此glmnet
  • AngularJS:清除 $watch

    我的 AngularJS 应用程序中有一个监视功能 scope watch quartzCrystal function 但是 在某些条件之后 在我的示例中 更改我的页面 单页应用程序 https en wikipedia org wiki
  • 如何在iPhone应用程序中每天的特定时间调用一个方法?

    我想在我的 iPhone 应用程序中每天的特定时间调用一个方法 我怎样才能实现这个目标 使用 iPhone SDK 和封闭的应用程序并不能做很多事情 您可以让它在特定时间发送本地推送通知 但在用户手动打开您的应用程序之前不会执行您的代码 请
  • $.each 中的 if 语句,Jquery

    我正在基于从 WebMethod 返回的 JSON 数据构建一些 html 我需要知道如何省略某些 elements based on if a particualr value is present or not I ve got thi
  • Groovy 错误地使用了封闭类的构造函数?

    Given static class Question stuff List
  • 如何修复 IntelliJ 中的包名称?

    是否可以修复 IntelliJ 中给定文件夹中的所有包名称 如果手动导入IntelliJ中的文件 其包名全部错误 包括子文件夹 如何批量修复包名 到目前为止 这给我带来了很多悲伤 移动到包或重命名包 这一定是一个错误 Example 如果我
  • Google应用程序脚本忽略数据验证错误

    我有一些具有数据验证规则的工作表可用作下拉列表 当尝试将其他 未经验证的 数据插入这些单元格时 我的代码现在会产生错误 我正在寻找一种方法来忽略数据验证规则并插入数据而不更改已设置的数据验证规则 我只想忽略应用程序脚本错误 您在单元格 U4
  • 创建无模式消息框

    如何创建一个无模式消息框 我是否必须创建自己的 Windows 窗体类并使用它 如果是这样 是否有一种简单的方法来添加警告图标 而不是插入我自己的图像 并根据文本量调整大小 如果您需要一个在代码继续在后台运行时自动显示的消息框 该框仍然是模
  • ActiveRecord 迁移后的括号 [5.1] 是什么?它是如何工作的? [复制]

    这个问题在这里已经有答案了 使用生成新迁移时bin rails g migration CreateUser第一行如下所示 class CreateUser lt ActiveRecord Migration 5 1 什么是 5 1 代表什