Hvis du har brug for eller ønsker databasespecifikke funktioner, som ActiveRecord ikke forstår, bør du skifte til db/structure.sql for at holde styr på dit skema. db/structure.sql er stort set et rådump af dit skema lavet ved hjælp af databasens native værktøjer, så det vil indeholde triggere, CHECK-begrænsninger, indekser på funktionsresultater og alt muligt andet.
Det er nemt at skifte:
- Opdater din
config/application.rbat indeholdeconfig.active_record.schema_format = :sql. - Foretag en
rake db:structure:dumpfor at få en indledendedb/structure.sql. - Slet
db/schema.rbfra dit bibliotekstræ og revisionskontrol. - Tilføj
db/structure.sqltil revisionskontrol. - Juster dine rake-vaner:
- Brug
db:structure:dumpi stedet fordb:schema:dump - Brug
db:structure:loadi stedet fordb:schema:load
- Brug
Alt andet skal fungere som normalt (forudsat selvfølgelig, at du er ved at være sund og bruger PostgreSQL til udvikling, test og produktion).
Når denne ændring er foretaget, vil dine triggere blive sporet i db/structure.sql og genskabelse af databasen vil ikke miste dem.