Eu tenho uma tabela e estou tentando adicionar um índice exclusivo em duas colunas. Essas colunas também são indexadas. Então, minha pergunta é se eu posso remover os índices que eram apenas para uma coluna ou se eu tenho que usar todos os três índices:
add_index "subscriptions", ["user_id"]
add_index "subscriptions", ["content_id"]
add_index "subscriptions", ["user_id"], ["content_id"], :unique => true
ruby-on-rails
activerecord
Markus
fonte
fonte
used_id
econtent_id
em separados se você também tiver um índice exclusivo de ambas as colunas. Isso provavelmente também se aplica a outros bancos de dados ... Ao contrário do que você espera, terá um impacto negativo no desempenho (especialmente inserções / atualizações).Respostas:
fonte
%w(user_id content_id)
em rubi apenas cria uma série de cordas, não é especial para trilhos. Você pode fazer o mesmo com o"user_id content_id".split
qual ainda está criando uma matriz de strings. Tenho certeza que você sabe disso, este comentário é apenas para que outros leitores não relacionem isso com trilhos incorretamente :)%w(user_id content_id)
é um Array of Strings. Qual é o mesmo que['user_id', 'content_id']
. A notação diferente para Array of Symbols é%i(user_id content_id)
, ou como o OP escreveu[:user_id, :content_id]