gpt4 book ai didi

ruby-on-rails - PG::DatatypeMismatch: 错误: 列 "status"不能自动转换为整数类型

转载 作者:行者123 更新时间:2023-12-04 16:39:42 26 4
gpt4 key购买 nike

我在开发中使用 sqlite3,但在迁移 PostgreSQL 时出现错误

sqlite 数据库迁移未发现此类错误。

错误日志

PG::DatatypeMismatch: ERROR:  column "status" cannot be cast automatically to type integer

HINT: You might need to specify "USING status::integer".
/home/abc/abc/db/migrate/20200211044313_change_status_type_in_stages.rb:3:in `change'

20200113224031_create_stages.rb

class CreateStages < ActiveRecord::Migration[5.2]
def change
create_table :stages do |t|
t.string :stage
t.boolean :status

t.timestamps
end
end
end

db/20200211044313_change_status_type_in_stages.rb

  def change
change_column :stages, :status, :integer
end

最佳答案

您需要指定应如何转换数据。

  change_column :stages, :status, 'integer USING CAST(status AS integer)'

  change_column :stages, :status, :integer, using: 'status::integer'

Changing the Column Type - Errors

关于ruby-on-rails - PG::DatatypeMismatch: 错误: 列 "status"不能自动转换为整数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63373790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com