rails 5升级期间schema.rb文件的问题

时间:2017-11-11 16:09:48

标签: ruby-on-rails schema ruby-on-rails-5

升级到Rails 5之后,每次尝试从架构加载时都会收到类似错误的消息(在应用程序上设置新计算机,在运行测试之前运行rails db:test:prepare等):

ActiveRecord::StatementInvalid: PG::UndefinedObject: ERROR:  type "serial" does not exist
LINE 1: SELECT 'serial'::regtype::oid

搜索周围并没有产生太大帮助。最相关的线程是这一个:https://github.com/rails/rails/issues/30298但我不是在尝试运行任何新的迁移,schema_plus_indexes gem似乎也没有与该问题有关(该线程中描述的两个问题) )。

1 个答案:

答案 0 :(得分:0)

在我们的例子中,我们不会在针对所有数据库运行迁移文件之后保留它们。因此,在升级到rails 5时,存在0个迁移文件。似乎问题是,如果您实际运行迁移文件,rails将仅为您自动“修复”您的schema.rb文件(即使尝试rails db:migrate没有迁移文件也不会有效。)< / p>

对我们来说,解决方案是创建一个空白迁移并运行rails db:migrate,以便正确格式化schema.rb文件。