【发布时间】:2020-06-21 18:21:42
【问题描述】:
我将 PostGres 和 Rails 6 用于 Docker 项目。我有以下迁移文件,用于将列类型从字符串或数字转换为整数:
class ChangeColumnTypes < ActiveRecord::Migration[6.0]
def change
change_column :drivers, :yearOfBirth, :integer, using: 'yearOfBirth::integer'
change_column :drivers, :racingNumber, :integer, using: 'racingNumber::integer'
change_column :drivers, :noRaces, :integer, using: 'noRaces::integer'
change_column :drivers, :noPoles, :integer, using: 'noPoles::integer'
change_column :drivers, :noPodiums, :integer, using: 'noPodiums::integer'
change_column :drivers, :noWins, :integer, using: 'noWins::integer'
change_column :drivers, :user_id, :integer, using: 'user_id::integer'
end
end
当我运行迁移时,我会收到类似的错误
Caused by:
myapp_1 | PG::UndefinedColumn: ERROR: column drivers.yearofbirth does not exist
myapp_1 | LINE 1: ...rivers" ALTER COLUMN "drivers" TYPE integer USING drivers.ye...
HINT: Perhaps you meant to reference the column "drivers.yearOfBirth".
我的专栏是驼峰式的,这可能是问题,因为 yearOfBirth 名称是正确的。有没有办法解决?谢谢
【问题讨论】:
标签: postgresql ruby-on-rails-6