Tôi đang đăng câu hỏi này vì tôi muốn biết quy trình phát triển tốt nhất dành cho ai đó muốn quản lý tất cả các khía cạnh của một cửa hàng trực tuyến.
Như với tất cả các phát triển web tất nhiên, có một bản sao trực tiếp và ít nhất một bản sao phát triển của toàn bộ giải pháp phần mềm là điều rất quan trọng. Tuy nhiên, việc quản lý công cụ Magento không giống như quản lý phần mềm "dựa trên tệp" khác vì cũng có một thành phần cơ sở dữ liệu đi kèm, do đó, ngoài thực tế là tôi có thể sử dụng một công cụ như Git làm công cụ VCS để kiểm soát nguồn, làm thế nào Tôi đi về việc quản lý sự khác biệt trong cơ sở dữ liệu giữa các phiên bản trực tiếp và phát triển?
Tất nhiên tôi có thể tạo các bản sao lưu cơ sở dữ liệu trực tiếp thông qua cron và chèn các câu lệnh SQL INSERT từ bản sao lưu vào kiểm soát nguồn, nhưng sau đó hai cơ sở dữ liệu sẽ phát triển riêng trong khi khách hàng đăng ký và đặt hàng trên một cơ sở dữ liệu trực tiếp và khi cập nhật được thực hiện riêng cho cơ sở dữ liệu phát triển. Khi nói đến việc hợp nhất các phiên bản phát triển và trực tiếp, các tệp php có thể được cập nhật không có vấn đề gì thông qua git (sử dụng gitignore trên một tệp duy nhất lưu trữ chi tiết cấu hình cơ sở dữ liệu), nhưng còn các tệp cơ sở dữ liệu thì sao? Làm cách nào tôi có thể hợp nhất hai tệp chứa các câu lệnh INSERT SQL từ hai bản sao lưu mà không gây ra thảm họa và phá hỏng hệ thống?
Đây là khu vực mờ ám trong vòng đời phát triển Magento mà tôi đang phải đối mặt: quản lý sự khác biệt của cơ sở dữ liệu.
Dường như đối với tôi, giống như giải pháp duy nhất để đồng bộ hóa nội dung cơ sở dữ liệu khác nhau giữa phiên bản phát triển / thử nghiệm và phiên bản trực tiếp của cửa hàng Magento là viết ra một mảnh giấy tất cả các thay đổi được thực hiện trong phiên bản phát triển thông qua Bảng quản trị Magento, và hy vọng không mắc lỗi nào, và sau đó khi mọi thứ đã được kiểm tra và hoạt động, hãy chuyển sang phiên bản trực tiếp và thực hiện những thay đổi chính xác đó trong khi Magento được đưa vào chế độ ngoại tuyến và được đưa vào chế độ bảo trì. Vì đây là một quá trình thủ công, nên nó dễ bị lỗi.
Vì vậy, cách tốt hơn để xử lý đồng bộ hóa cơ sở dữ liệu giữa máy chủ magento thử nghiệm và máy chủ magento trực tiếp là gì?
Cảm ơn.