对于添加的数据库字段,迁移失败'找不到方法'

问题描述 投票:1回答:1

我正在Rails 6应用程序上进行大量迁移。当我进行迁移时,尝试从上一个迁移步骤访问新添加的字段的特定属性时,它总是会失败。失败之后,我只需重新运行迁移即可,并且可以正常工作,显然它可以第二次找到该属性。对这里可能发生的事情有任何想法吗?

deleted_customer = Customer.new(first_name:"Deleted",last_name:"Deleted",active:false,customer_type_id:CustomerType.first.id)
deleted_customer.save(validate:false)

StandardError: An error has occurred, this and all later migrations canceled: unknown attribute 'active' for Customer.

从失败之前的迁移开始

add_column :customers, :active, :boolean, default: true

我想念什么吗?

ruby-on-rails postgresql rails-migrations
1个回答
0
投票

Rails在首次访问模型时读取架构信息并将其缓存(这样,您每次访问模型时就不必读取数据库架构)。>>

您可以重置该缓存:

Customer.connection.schema_cache.clear!
Customer.reset_column_information
© www.soinside.com 2019 - 2024. All rights reserved.