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

Konwersja Play! ewolucja frameworka od MySQL do PostgreSQL

Upewnij się, że baza danych jest spójna.

Zakładając, że nie przeprowadziłeś migracji danych z poprzedniej bazy danych MySQL i pracujesz w trybie programistycznym (nie produkcyjnym), więc nie musisz się martwić o zachowanie danych:

  • Zmień nazwę migracji z powrotem na 1.sql . Tylko dlatego, że wykonałeś migrację w poprzedniej bazie danych, nie oznacza to, że jeśli zamierzasz przeprowadzić ją w zupełnie nowej bazie danych, jest to druga ewolucja:w przypadku nowej bazy danych nadal jest to pierwsza.
  • Zadeklaruj kolumny klucza podstawowego w następujący sposób:id bigserial primary key i usuń constraint .
  • Upewnij się, że masz pustą bazę danych w PostgreSQL. Usuń bazę danych i utwórz ją ponownie (dropdb , createdb ).
  • Uruchom migrację bazy danych i obserwuj wyniki, aby upewnić się, że migracja została wykonana. Zobacz Zarządzanie zmianami w bazach danych .
  • Użyj PgAdmin lub podobnego narzędzia, takiego jak Toad Extension for Eclipse aby sprawdzić, czy struktura bazy danych została poprawnie utworzona.

Alternatywnie możesz dowiedzieć się, że Flyway zapewnia bardziej kompleksowe podejście do migracji baz danych. Istnieje wtyczka dla Play Framework.

Aby uniknąć wyjątku Error getting sequence nextval , właściwie opisz definicje klas jednostek w następujący sposób:

@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; }

Sprawdź bazę danych, aby upewnić się, że sequenceName to nazwa sekwencji utworzonej przez PostgreSQL.

Aby uzyskać więcej informacji, zobacz:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL - Wybierz wiersz ze złożoną maksymalną wartością z 2 kolumn

  2. Zakończenie NGINX TLS dla PostgreSQL

  3. Railsy rozszerzają pola z zasięgiem, PG tego nie lubi

  4. Nie możesz wstawić nowego wiersza do tabeli bazy danych postgres?

  5. Używanie SQL jako xlookup