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.rb
at indeholdeconfig.active_record.schema_format = :sql
. - Foretag en
rake db:structure:dump
for at få en indledendedb/structure.sql
. - Slet
db/schema.rb
fra dit bibliotekstræ og revisionskontrol. - Tilføj
db/structure.sql
til revisionskontrol. - Juster dine rake-vaner:
- Brug
db:structure:dump
i stedet fordb:schema:dump
- Brug
db:structure:load
i 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.