3

channelshstore 列を持つテーブルがありますcredentials。各チャネルの資格情報は異なる場合がありますが、入力時に一意にする必要があります。次のようないくつかのpostgresインデックスを設定しました:

execute "CREATE UNIQUE INDEX channels_key_seller_id_values_unique ON channels((credentials -> 'seller_id'))"
execute "CREATE UNIQUE INDEX channels_key_auth_token_values_unique ON channels((credentials -> 'auth_token'))"

これにより、 @channel.save with 中にハードエラーが正しく発生しますがActiveRecord::RecordNotUnique、フォームエラーを表示するおなじみの Rails の方法が必要です。hstore キー 'auth_token' および 'seller_id' で検証一意性を使用する構文は (ある場合) ?

4

1 に答える 1

0

これを確認してください。役立つかもしれません: https://gist.github.com/rf-/2322543

彼が「sqlite3」を使用したことに注意してください。

于 2013-09-19T13:36:07.280 に答える