実際は Sinatra アプリでやった話だけど、Rails でもほとんど一緒だからタイトルに Rails を入れてる
ユーザーの ID を UUID にした時のメモ(デフォルトでは BigInt になっている)
手順 🔗
マイグレーションファイル 🔗
class CreateUsers < ActiveRecord::Migration[7.0]
def change
create_table :users, id: false do |t|
t.string :id, null: false, primary_key: true
t.string :name, null: false
t.timestamps
end
end
end
copy
モデル 🔗
class User < ActiveRecord::Base
before_create -> { self.id = SecureRandom.uuid }
end
copy
本来であれば被らない UUID が生成されるまでループした方が良さげだけど、被る確立は低そうなので端折った