【问题标题】:Rails Postgreql change int to bignum on columnRails Postgresql 在列上将 int 更改为 bignum
【发布时间】:2015-03-27 15:58:53
【问题描述】:

我在表中有一个字段,该字段最初设置为整数。它是来自外部数据源的 ID。现在使用多个数据源,一些 ID 值是非常大的整数,大于 postgres 默认的 4 位。更改表结构的最佳方法是什么?

【问题讨论】:

    标签: ruby-on-rails postgresql integer bignum


    【解决方案1】:

    这种使用严格 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
    

    【讨论】:

      猜你喜欢
      • 2023-02-08
      • 2013-12-19
      • 2018-07-04
      • 2016-02-03
      • 2021-03-04
      • 2018-10-22
      • 2018-12-31
      • 2021-10-10
      • 1970-01-01
      相关资源
      最近更新 更多