sql >> Databáze >  >> RDS >> PostgreSQL

Rails, PostgreSQL a spouštěče historie

Pokud potřebujete nebo chcete funkce specifické pro databázi, kterým ActiveRecord nerozumí, měli byste přejít na db/structure.sql pro sledování vašeho schématu. db/structure.sql je do značné míry hrubý výpis vašeho schématu vytvořený pomocí nativních nástrojů databáze, takže bude obsahovat spouštěče, omezení CHECK, indexy výsledků funkcí a vše ostatní.

Přepínání je snadné:

  1. Aktualizujte config/application.rb obsahovat config.active_record.schema_format = :sql .
  2. Proveďte rake db:structure:dump získat počáteční db/structure.sql .
  3. Smažte db/schema.rb z vašeho adresářového stromu a kontroly revizí.
  4. Přidejte db/structure.sql ke kontrole revizí.
  5. Upravte své rake návyky:
    • Použijte db:structure:dump místo db:schema:dump
    • Použijte db:structure:load místo db:schema:load

Vše ostatní by mělo fungovat jako obvykle (samozřejmě za předpokladu, že jste rozumní a používáte PostgreSQL pro vývoj, testování a produkci).

Po provedení této změny budou vaše spouštěče sledovány v db/structure.sql a opětovné vytvoření databáze je neztratí.



  1. MySQL Spustí po aktualizaci pouze v případě, že se řádek změnil

  2. Jak mohu opravit chybu zatížení MySQL

  3. Trezor TO_NUMBER()

  4. identitu z SQL vložit přes jdbctemplate