タグ

2019年7月11日のブックマーク (1件)

  • MySQLで論理削除とユニーク制限 - Qiita

    Railsでレコードの論理削除を行うにはparanoiaのGemを使うなどありますが、ユニーク制限のあるレコードでは論理削除したものと新しく作成したものがバッティングしてしまうため期待通りに動作しません。 ユニーク制限をアプリケーション側で行うのも手ですが、なんとかデータベースレベルで制限できないかということで、論理削除を考慮したユニーク制限を考えてみました。 まず前提知識として、ユニーク制限はNULLのカラムでは適用されません。 それをうまく利用します。 usersがUNIQUE KEYのnameと論理削除用のdeleted_atを持っているとして、 class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| t.string :name t.datetime :deleted_at

    MySQLで論理削除とユニーク制限 - Qiita
    tyru
    tyru 2019/07/11
    論理削除ありのテーブルでユニーク制限する方法。なるほどなー