在Rails 5和PostgreSQL中。
我创建此文件时默认使用bigint
数据类型而不是integer
:
# config/initializers/bigint_primary_keys.rb
ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::NATIVE_DATABASE_TYPES[:primary_key] = 'bigserial primary key'
因此,在运行create and migrate时,表ID将为bigint
类型。
# posts table
id bigint not null
...
# users table
id bigint not null
...
但在迁移中使用add_reference
时:
class ChangeA < ActiveRecord::Migration[5]
def change
add_reference :posts, :users
end
end
posts
表添加此字段:
# posts table
...
user_id integer
posts
和users
表格ID都是bigint
类型,但此字段不会更改。
有没有办法将数据类型设置为add_reference
方法?
答案 0 :(得分:0)
我找到了答案:
http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/add_reference
它有type
选项。这就是我想要的。