2017-02-06 1 views
-1

einzigartigen constrain Rahmen hinzufügen Wie kann ich für folgende Anweisung fügen geschrieben in Schienen Modell, wie die Migration erstellen, indem Sie einige Spalten

validiert Datenbank einschränken: Spalte_1, Einzigartigkeit: {Gültigkeitsbereich: [: column_2,: column_3] }

Vielen Dank im Voraus.

+0

http://stackoverflow.com/a/29961501/4481312 – marmeladze

+0

Mögliche Duplikat [Validate Einzigartigkeit von mehreren Spalten] (http://stackoverflow.com/questions/ 4870961/validate-uniqueness-of-multiple-columns) – Iceman

+1

Mögliches Duplikat von [Eine Migration zum Hinzufügen einer eindeutigen Integritätsbedingung zu einer Spaltenkombination] (https://stackoverflow.com/questions/3370271/a-migration-to-add- Unique-Constraint-zu-einer-Kombination von Spalten) –

Antwort

1

Führen Sie die folgende Migration:

def change  
    add_index :table_name, [:column1, :column_2,:column_3], unique: true 
end 
+0

Danke @Othmane El Kesri! Hinzufügen von oben einschränken, um die gleiche Kombination für Spalte_2 und Spalte_3 hinzuzufügen, aber in meinem Fall möchte ich Kombination mit Spalte_1 auch. Also add 'add_index: Tabellenname, [Spalte_1,: Spalte_2,: Spalte_3], unique: true'. Ist das richtig? – Shambhu

+0

ja, sollte es funktionieren –

+0

ich aktualisierte meine Antwort, überprüfen Sie bitte, ob es die richtige ist –

Verwandte Themen