PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wyzwalacze Rails, PostgreSQL i historii

Jeśli potrzebujesz lub chcesz funkcji specyficznych dla bazy danych, których ActiveRecord nie rozumie, powinieneś przełączyć się na db/structure.sql do śledzenia schematu. db/structure.sql jest właściwie surowym zrzutem twojego schematu wykonanym przy użyciu natywnych narzędzi bazy danych, więc będzie zawierał wyzwalacze, ograniczenia CHECK, indeksy wyników funkcji i wszystko inne.

Przełączanie jest łatwe:

  1. Zaktualizuj plik config/application.rb zawierać config.active_record.schema_format = :sql .
  2. Wykonaj rake db:structure:dump aby uzyskać początkowy db/structure.sql .
  3. Usuń db/schema.rb z twojego drzewa katalogów i kontroli wersji.
  4. Dodaj db/structure.sql do kontroli wersji.
  5. Dostosuj swoje nawyki dotyczące prowizji:
    • Użyj db:structure:dump zamiast db:schema:dump
    • Użyj db:structure:load zamiast db:schema:load

Wszystko inne powinno działać jak zwykle (zakładając oczywiście, że jesteś zdrowy na umyśle i używasz PostgreSQL do programowania, testowania i produkcji).

Po wprowadzeniu tej zmiany wyzwalacze będą śledzone w db/structure.sql a odtworzenie bazy danych ich nie straci.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można po prostu użyć nazwy tabeli PostgreSQL (relacja nie istnieje)

  2. Generowanie identyfikatora UUID w instrukcji Postgres for Insert?

  3. Przegląd możliwości JSON w PostgreSQL

  4. Zarządzaj łączeniem połączeń w aplikacji internetowej dla wielu dzierżawców za pomocą Spring, Hibernate i C3P0

  5. Błąd migracji Django:kolumna nie istnieje