Ich führe gerade eine Rails-Migration durch, in der ich einen spezifischen Datentyp für Postgres, den tsvector, hinzufüge. Es enthält Suchinformationen in der von Postgres für seine integrierten Textsuchfunktionen erwarteten Form.Rails-Migrationen mit datenbankspezifischen Datentypen
Das ist die Linie von meiner Migration:
t.column "search_vectors", :tsvector
Alles scheint gut zu funktionieren, und die Suche funktioniert mit ihm. Allerdings, wenn ich bis schema.rb geöffnet, das ist, was ich habe:
Could not dump table "users" because of following StandardError
Unknown type 'tsvector' for column 'search_vectors'
Dies hindert mich an der Ausführung von Unit-Tests für die Benutzertabelle und auch scheint mir wirklich gefährlich gegeben suchen, die schema.rb soll die maßgebliche Definition meiner Datenbank sein.
Ich bemerke, es gibt eine Reihe von Rails-Plugins, die den gleichen Ansatz der Speicherung des Tsvector verwenden, wie ich erwarten würde, wie tsearchable. Bin ich wirklich nur ohne Test und ohne eine autoritative Definition meiner Datenbank festgefahren?
Ändern der Zeichenfolgen hat das Problem nicht behoben. Haben Sie jedoch Ihre Antwort bearbeitet? Ich glaube, Sie hatten zuvor eine Empfehlung, meine Konfiguration zu ändern: config.active_record.schema_format =: sql Dies hat funktioniert. –
Nicht ich. Dieser Rat wurde aus irgendeinem Grund von der Person gelöscht, die ihn gepostet hat (Phil Ross). –