2015-11-20 9 views
7

So che molte domande simili sono state fatte prima ma non ho trovato questa domanda esattamente (forse non è solo possibile).Cambiare colonna in Rails per essere univoco

Quindi ho una Column_A nella mia tabella Rails (usando MySQL). Recentemente abbiamo avuto la necessità di imporre l'unicità su questa colonna.

È possibile modificare questa colonna per renderla unica?

L'unica altra soluzione che ho trovato è quella di creare una colonna temporanea univoca e mischiare tutto intorno. Quale sarebbe un dolore.

Grazie!

+1

Non è sicuro, perché non è sufficiente utilizzare validates_uniqueness_of: Column_A in il tuo modello? –

+1

'change_column: table_name,: column_name,: string, unique: true' –

+0

@PadmanabanGokula Puoi spiegare la differenza tra' validates_uniqueness' e 'unique'? Immagino di poterlo fare con una migrazione? –

risposta

5

semplice processo in due fasi:

1: Creare una migrazione

change_column :table_name, :column_name, :string, unique: true 

2: Aggiungi la validazione nel modello

validates_uniqueness_of :column_name 
Problemi correlati