Als u database-specifieke functies nodig heeft of wilt hebben die ActiveRecord niet begrijpt, moet u overschakelen naar db/structure.sql
voor het bijhouden van uw schema. db/structure.sql
is zo'n beetje een onbewerkte dump van je schema gemaakt met behulp van de native tools van de database, dus het zal triggers, CHECK-beperkingen, indexen op functieresultaten en al het andere bevatten.
Overstappen is eenvoudig:
- Update uw
config/application.rb
omconfig.active_record.schema_format = :sql
te bevatten . - Doe een
rake db:structure:dump
om een initiëledb/structure.sql
. te krijgen . - Verwijder
db/schema.rb
vanuit uw directorystructuur en revisiebeheer. - Voeg
db/structure.sql
toe naar revisiecontrole. - Pas je rake-gewoonten aan:
- Gebruik
db:structure:dump
in plaats vandb:schema:dump
- Gebruik
db:structure:load
in plaats vandb:schema:load
- Gebruik
Al het andere zou normaal moeten werken (ervan uitgaande natuurlijk dat je gezond bent en PostgreSQL gebruikt voor ontwikkeling, testen en productie).
Met deze wijziging worden uw triggers bijgehouden in db/structure.sql
en het opnieuw aanmaken van de database zal ze niet kwijtraken.