我有一个表channels
,其中包含一个hstore列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'))"
这在使用ActiveRecord::RecordNotUnique
的@ channel.save期间正确引发了一个硬错误,但是我想要熟悉的显示表单错误的rails方式。在hstore密钥'auth_token'和'seller_id'上使用验证唯一性的语法是什么(如果有的话)?