wie man eine Tabelle Spalte in Ruby on Rails hinzufügt

8

Ich habe eine Tabelle mit einigen Spalten, jetzt muss ich eine Spalte ändern, um sie einzigartig zu machen (keine doppelten Werte), wie kann ich das in Ruby on Rails machen?

    
ohana 13.05.2010, 20:19
quelle

5 Antworten

7

Sie können Ihrem Modell eine Validierung hinzufügen, um doppelte Werte zu verbieten

%Vor%     
Ju Nogueira 13.05.2010 20:33
quelle
4
%Vor%

wie oben beschrieben, kann brechen, wenn Unicorn auf mehreren Heroku-Dynpros läuft, jede mit mehreren Webprozessen usw.

Also wäre ein besserer Weg das zu tun

%Vor%

Ссылка

oder Sie können dazu row sql in migration verwenden.

%Vor%     
taimur akhtar 09.03.2015 08:23
quelle
3

Das ist Code direkt von meinem Arbeitsprojekt:

%Vor%

Beachten Sie, dass die Funktion limit nur erforderlich ist, wenn Sie in einem Textfeld (und nicht in einem String) unique verwenden, obwohl es noch nicht in Rails implementiert ist (glaube ich in 3.0). Sie können diese Einschränkung umgehen, indem Sie das mysql_index_length-Plugin Ссылка

verwenden %Vor%

In diesem Beispiel wird ein eindeutiger Index für drei Spalten erstellt. Sie können ihn jedoch für eine Spalte verwenden, wenn Sie dies wünschen.

Link zum Projekt auf GitHub: Ссылка

    
Schneems 13.05.2010 21:17
quelle
-1

Jemand korrigiert mich, wenn ich falsch liege, weil ich das nicht persönlich benutzt habe, aber ich glaube, dass Sie eine Migration verwenden können, um Eindeutigkeit auf Datenbankebene zu setzen.

%Vor%     
tybro0103 13.05.2010 20:44
quelle
-4
%Vor%

:)

und fügen Sie dann die Validierung als @j hinzu. beantwortet

    
klew 13.05.2010 20:38
quelle

Tags und Links