ich eine Migration haben, die eine benannte Integritätserstellen Einschränkungen in Schienen Migrationen
execute(%Q{
ALTER TABLE dreamflore_clients
ADD CONSTRAINT unique_clients UNIQUE(client, no_adresse);
})
Aber in schema.rb
schaffen, Schienen, diesen Teil in einen Index drehen
add_index "dreamflore_clients", ["client", "no_adresse"], name: "unique_clients", unique: true, using: :btree
Das Problem ist, wir verwenden Apartment
und neu erstellte Mandanten haben einen Index anstelle der Einschränkung und wir verwenden die PostgreSQL-Funktion ON CONFLICT ON CONSTRAINT
Für n Die Lösung besteht darin, einige Migrationen rückgängig zu machen und erneut zu migrieren, aber das ist ein wirklich schmutziger Hack.
Wie man Schienen stoppt, die diesen Index verursachen?