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

Převod Play! vývoj frameworku z MySQL na PostgreSQL

Ujistěte se, že databáze je v konzistentním stavu.

Za předpokladu, že jste nemigrovali data z předchozí databáze MySQL a že pracujete ve vývojovém režimu (nikoli v produkčním režimu), nemusíte se starat o zachování dat:

  • Přejmenujte migraci zpět na 1.sql . To, že jste migraci provedli v předchozí databázi, neznamená, že když ji budete provádět ve zcela nové databázi, bude to druhý vývoj:pro novou databázi je to stále první.
  • Sloupce primárního klíče deklarujte takto:id bigserial primary key a odstraňte constraint .
  • Ujistěte se, že máte v PostgreSQL prázdnou databázi. Zrušte databázi a znovu ji vytvořte (dropdb , createdb ).
  • Spusťte migraci databáze a sledujte výstup, abyste se ujistili, že byla migrace provedena. Viz Správa vývoje databáze .
  • Použijte PgAdmin nebo podobný nástroj, jako je Toad Extension for Eclipse abyste ověřili, že struktura databáze byla správně vytvořena.

Případně můžete zjistit, že Flyway poskytuje komplexnější přístup k migraci databází. Existuje plugin pro Play Framework.

Aby se předešlo výjimce Error getting sequence nextval , správně označte definice tříd entit takto:

@Id
@SequenceGenerator(name="product_gen", sequenceName="product_id_seq", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="product_gen")
@Column(name="id")
public Long getId() { return id; }

Zkontrolujte databázi a ujistěte se, že sequenceName je název sekvence vytvořené PostgreSQL.

Další informace naleznete na adrese:




  1. Zobrazit ID číslo v URL a načíst výsledky databáze z ID čísla do textových polí

  2. MySQL VYBERTE pole jako NULL, pokud v tabulce neexistuje

  3. Jak mohu použít jeden fond připojení mssql napříč několika trasami ve webové aplikaci Express 4?

  4. Jak spravovat databázi pomocí Admineru