【发布时间】:2015-03-27 15:58:53
【问题描述】:
我在表中有一个字段,该字段最初设置为整数。它是来自外部数据源的 ID。现在使用多个数据源,一些 ID 值是非常大的整数,大于 postgres 默认的 4 位。更改表结构的最佳方法是什么?
【问题讨论】:
标签: ruby-on-rails postgresql integer bignum
我在表中有一个字段,该字段最初设置为整数。它是来自外部数据源的 ID。现在使用多个数据源,一些 ID 值是非常大的整数,大于 postgres 默认的 4 位。更改表结构的最佳方法是什么?
【问题讨论】:
标签: ruby-on-rails postgresql integer bignum
这种使用严格 SQL 的迁移对我来说是成功的。感谢:https://gist.github.com/lxxdn/1e23067da51072a7e446
class ChangeForignIdsToBigInt < ActiveRecord::Migration
def up
execute <<-SQL
ALTER TABLE events
ALTER COLUMN eid TYPE bigint USING eid::bigint
SQL
execute <<-SQL
ALTER TABLE venues
ALTER COLUMN vid TYPE bigint USING vid::bigint
SQL
end
def down
raise ActiveRecord::IrreversibleMigration.new
end
end
【讨论】: