PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Chuyển đổi Play! sự phát triển khung từ MySQL sang PostgreSQL

Đảm bảo rằng cơ sở dữ liệu ở trạng thái nhất quán.

Giả sử bạn chưa di chuyển dữ liệu từ cơ sở dữ liệu MySQL trước đó và bạn đang làm việc ở chế độ phát triển (không phải ở chế độ sản xuất), vì vậy bạn không phải lo lắng về việc bảo quản dữ liệu:

  • Đổi tên quá trình di chuyển của bạn thành 1.sql . Chỉ vì bạn đã thực hiện quá trình di chuyển trong cơ sở dữ liệu trước đó, không có nghĩa là khi bạn thực thi nó trong một cơ sở dữ liệu hoàn toàn mới, đó là một bước tiến thứ hai:đối với cơ sở dữ liệu mới, nó vẫn là lần đầu tiên.
  • Khai báo các cột khóa chính của bạn như sau:id bigserial primary key và loại bỏ constraint .
  • Đảm bảo rằng bạn có một cơ sở dữ liệu trống trong PostgreSQL. Thả cơ sở dữ liệu và tạo lại nó ( dropdb , createdb ).
  • Chạy quá trình di chuyển cơ sở dữ liệu của bạn và xem kết quả đầu ra để đảm bảo quá trình di chuyển đã được thực thi. Xem Quản lý diễn biến cơ sở dữ liệu .
  • Sử dụng PgAdmin hoặc một công cụ tương tự như Tiện ích mở rộng Toad cho Eclipse để xác minh rằng cấu trúc cơ sở dữ liệu đã được tạo chính xác.

Ngoài ra, bạn có thể biết rằng Flyway cung cấp một cách tiếp cận toàn diện hơn để di chuyển cơ sở dữ liệu. Có một plugin cho Play Framework.

Để tránh ngoại lệ Error getting sequence nextval , chú thích đúng các định nghĩa lớp thực thể như sau:

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

Kiểm tra cơ sở dữ liệu để đảm bảo rằng sequenceName là tên của chuỗi được tạo bởi PostgreSQL.

Để biết thêm thông tin, hãy xem:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tốt nhất để sao chép một tập hợp con các hàng của bảng từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong Postgres là gì?

  2. Ai đó có thể giải thích postgresql-client là gì và nó tương tác với gói lõi postgresql như thế nào không?

  3. Về hiệu suất bệnh lý

  4. Kiểm tra xem liên kết có tồn tại mà không phát sinh lần truy cập cơ sở dữ liệu hay không

  5. Tạo chuỗi thời gian giữa hai ngày trong PostgreSQL