PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Rails, PostgreSQL e gatilhos de histórico


Se você precisa ou deseja recursos específicos do banco de dados que o ActiveRecord não entende, você deve alternar para db/structure.sql para manter o controle de seu esquema. db/structure.sql é praticamente um dump bruto do seu esquema feito usando as ferramentas nativas do banco de dados, portanto, ele conterá gatilhos, restrições CHECK, índices nos resultados da função e tudo mais.

A comutação é fácil:
  1. Atualize seu config/application.rb para conter config.active_record.schema_format = :sql .
  2. Faça um rake db:structure:dump para obter um db/structure.sql inicial .
  3. Excluir db/schema.rb da sua árvore de diretórios e controle de revisão.
  4. Adicionar db/structure.sql ao controle de revisão.
  5. Ajuste seus hábitos de rake:
    • Usar db:structure:dump em vez de db:schema:dump
    • Usar db:structure:load em vez de db:schema:load

Todo o resto deve funcionar normalmente (assumindo, é claro, que você esteja são e usando o PostgreSQL para desenvolvimento, teste e produção).

Com essa alteração feita, seus gatilhos serão rastreados em db/structure.sql e recriar o banco de dados não os perderá.