我在 Rails 应用程序中有一系列迁移,其中包括以下步骤:
- 创建“用户”模型的基本版本
- 创建此模型的实例 - 我的系统中至少需要一个初始用户,以便您可以登录并开始使用它
- 更新“用户”模型以添加新字段/列。
现在我在这个新字段/列上使用“validates_inclusion_of”。这在我最初的开发机器上运行良好,它已经有一个应用了这些迁移的数据库。但是,如果我转到一台新机器并运行所有迁移,则第 2 步将失败,因为 validates_inclusion_of 失败,因为尚未将迁移 3 中的字段添加到模型类中。
作为一种解决方法,我可以注释掉“validates_...”行,运行迁移,然后取消注释,但这并不好。
最好重新排序我的迁移,以便在添加所有列之后最后创建用户(步骤 2)。
不过,我是一个 Rails 新手,所以我想我会问处理这种情况的首选方法是什么:)