【Sinatra / Rails】ユーザーID に ULID を使うことにした
2022/09/22
Rails でも同じなのでタイトルに追加している
Sinatra アプリでユーザーの ID に UUID を使っていたが、ULID に切り替えた
ULID は、UUID と互換性があり、ミリ秒単位で時系列ソートができる
Gem があったのでそれを使うことにした
https://github.com/rafaelsales/ulid
require 'ulid'
ULID.generate
#=> "01G9VYHMNH5YWA0B96K1Q1KBHB"
以前書いた記事(【Rails / Sinatra】ID を UUID にする) のモデルを以下のように書き換えるだけで移行完了
require 'ulid'
class User < ActiveRecord::Base
before_create -> { self.id = ULID.generate }
end