postgresql 错误:列“name_id”无法自动转换为整型,您可能需要指定“USING name_id::integer”

c9x0cxw0  于 2023-03-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(245)

我在heroku上部署我的应用程序时遇到了最困难的一次。

PG::DatatypeMismatch: ERROR:  column "downtown_id" cannot be cast automatically to type integer
HINT:  You might need to specify "USING downtown_id::integer"

我第一个尝试的就是这个

def change
      remove_column :properties, :downtown_id
      add_column :properties, :downtown_id, :integer
  end

没找到。
然后我尝试了这个(从here找到)。

def change
    change_column :properties, :downtown_id, 'integer USING CAST(downtown_id AS integer)'
  end

还是没有运气:(
在我的开发环境上运行这些迁移之后,在我可以尝试在RAILS_ENV=production bundle exec rake db:migrate上运行它们之前,我需要做什么吗?
我不知道该怎么办,我所看到的一切都指向我已经尝试过的事情。

n8ghc7c1

n8ghc7c11#

尝试使用以下语法:

def change
  change_column :properties, :downtown_id, :integer, using: 'CAST(downtown_id AS integer)'
end

相关问题