Sie können Ihrem Modell eine Validierung hinzufügen, um doppelte Werte zu verbieten
%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%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: Ссылка
Tags und Links mysql ruby-on-rails