21

bigint列を持つテーブルを作成しようとすると、代わりに標準の整数列が作成されます。何がうまくいかない可能性がありますか?どこから探し始めたらいいのかわからない。

私はこれを移行で使用しています:

create_table :table_name do |t|
  t.integer :really_big_int, limit: 8
end

Ruby 1.9.2、PostgreSQL 9.0.3、Rails3.0.9を使用しています。データベースを削除して移行を数回実行しましたが、それでもbigint列が作成されません。

4

5 に答える 5

28

何らかの理由で、createテーブルはbigintが好きではありません。ただし、bigintデータ型を使用してadd_colummでそれを行うことができます。

add_column :table_name, :really_big_int, :bigint

その後、その制限のものは必要ありません。

于 2012-05-23T00:32:38.907 に答える
23

これはRails4で機能します

t.column :really_big_int, :bigint
于 2013-11-02T17:54:17.097 に答える
8

Rails 5.0.0.1は動作します:

  def change
    create_table :huge do |t|  
      t.integer :big_bastard, limit: 8
    end
  end
于 2016-09-23T21:25:28.933 に答える
4

Rails 4.2 +では、次のように使用できます。

create_table :table_name do |t|
   t.bigint :really_big_int
end
于 2016-05-30T12:43:00.053 に答える
1

を使用してbigintを作成することができましたt.column。これは、テーブルの列の順序を制御する場合に役立ちます。

create_table :table_name do |t|
  t.string :other_column
  t.column :really_big_int, :bigint
  .
  .
  t.timestamps
end

Rails3.2.12とpggemバージョン0.15.1(x86-mingw32)を使用しています。

于 2013-09-02T23:25:29.663 に答える