# db/migrate/xxxxxxxxxxxxxx_enable_uuid_extension.rb classEnableUuidExtension < ActiveRecord::Migration[5.0] defchange enable_extension 'uuid-ossp' end end
現在需要把 id 改變成 uuid datatype,而不是讓 Rails 自動指派。
1 2 3 4 5 6 7 8 9 10 11
rails g model Booktitle:string
# db/migate/xxxxxxxxxxxxxx_book.rb classCreateBooks < ActiveRecord::Migration[5.0] defchange create_table :books, id::uuiddo |t| t.string :title t.timestamps null:false end end end
Rails 生成 UUID 的預設版本是 uuid_generate_v4(),能有效率地避免碰撞。所產生的 id 不再是整數遞升,而是一個 16 進位的字串。