Những gì tôi thường làm đối với những cuộc di cư như vậy có gấp đôi:
- Trích xuất toàn bộ định nghĩa cơ sở dữ liệu từ MySQL và điều chỉnh nó cho phù hợp với cú pháp PostgreSQL.
- Xem qua định nghĩa cơ sở dữ liệu và chuyển đổi nó để tận dụng các chức năng trong PostgreSQL không tồn tại trong MySQL.
Sau đó, thực hiện chuyển đổi và viết một chương trình bằng bất kỳ ngôn ngữ nào bạn cảm thấy thoải mái nhất để thực hiện những việc sau:
- Đọc dữ liệu từ cơ sở dữ liệu MySQL.
- Thực hiện bất kỳ chuyển đổi nào cần thiết trên dữ liệu được lưu trữ trong cơ sở dữ liệu PostgreSQL.
- Lưu dữ liệu hiện đã được chuyển đổi trong cơ sở dữ liệu PostgreSQL.
Thiết kế lại các bảng cho PostgreSQL để tận dụng các tính năng của nó.
Nếu bạn chỉ làm điều gì đó như sử dụng sed
script để chuyển đổi SQL dump từ định dạng này sang định dạng tiếp theo, tất cả những gì bạn đang làm là đặt cơ sở dữ liệu MySQL vào máy chủ PostgreSQL. Bạn có thể làm điều đó và sẽ vẫn có một số lợi ích khi làm như vậy, nhưng nếu bạn định di chuyển, hãy di chuyển hoàn toàn.
Nó sẽ đòi hỏi nhiều hơn một chút thời gian báo trước, nhưng tôi vẫn chưa gặp phải tình huống không đáng có.