activerecord-mysql-unsignedを使う際の注意点
2444 ワード
MySQLで符号なしの整数を扱えるようにする activerecord-mysql-unsigned というgemがあるのですが、これを入れるとデフォルトで primary key
を符号なしにしてしまうので、外部キー制約などをかけるときにしっかり参照する側も符号なしにするよう気をつけようという話。
あと、このgemの追加前にmigrationした人とgem追加後にmigrationした人ではschemaに差が出てしまうので、後から開発チームに加わった人が手元のPCなんかでmigrationするときも注意したほうがいいかと思います。
class CreateTables < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.string :name, null: false
end
create_table :articles do |t|
t.references :user, null: false, unsigned: true #しっかりunsignedにする
end
add_index :articles, [:user_id]
add_foreign_key :articles, :users #でないとここで失敗する
end
def self.down
drop_table :users
drop_table :articles
end
end
Author And Source
この問題について(activerecord-mysql-unsignedを使う際の注意点), 我々は、より多くの情報をここで見つけました https://qiita.com/cotton_ori/items/af888d1094c8d8adb13b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .