Tóm tắc
Đầu tiên và quan trọng nhất là không ai thích làm việc trên các ứng dụng sản xuất. Do đó, lời khuyên dành cho ai đó là thiết lập các cửa hàng riêng biệt, cấu trúc của tôi như sau:
- dev.magento.local -> Cửa hàng phát triển;
- sân khấu.magento.local -> cửa hàng UAT / QA;
- magento.local -> Cửa hàng sản xuất;
Trong khi đó, cửa hàng được theo dõi trong kiểm soát nguồn, bao gồm app/etc/local.xml
, đó là xung đột đầu tiên của cấu trúc này. Tuy nhiên, sau khi quá trình cài đặt Magento hoàn tất và chúng tôi có tệp local.xml, ý tưởng là:
1) Xuất cửa hàng Magento mới được cài đặt gần đây.
icanhas$ mysqldump --single-transaction magestore_dev > magestore_dev.dmp.sql
2) Sau đó nhập cấu trúc cho các môi trường còn lại.
icanhas$ mysql -u'magestage_user' -p'magestage_pwd' < magestore_dev.dmp.sql
icanhas$ mysql -u'mageprod_user' -p'mageprod_pwd' < magestore_dev.dmp.sql
3) Các môi trường mới cần các url của chúng được sửa, mặc dù điều đó nằm ngoài câu hỏi này, giả sử chúng đã được thực hiện.
4) Như đã đề cập trước đây, chúng tôi cần giải quyết xung đột với app/etc/local.xml
vì vậy tôi đã tạo các thư mục sau:
- /app/etc/development/local.xml -> Đã di chuyển local.xml tại đây;
- /app/etc/staging/local.xml -> Sao chép phát triển / local.xml tại đây;
- /app/etc/production/local.xml -> Sao chép phát triển / local.xml tại đây;
5) Tôi đã sửa các thông tin cơ sở dữ liệu cho từng môi trường, điều này đã được cam kết với kho lưu trữ.
6) Cuối cùng tôi đã tạo ra các liên kết tượng trưng sau đây:
- Trên dev.magento.local ;
app/etc/local.xml -> app/etc/development/local.xml
; - Trên sân khấu.magento.local ;
app/etc/local.xml -> app/etc/staging/local.xml
; - Trên magento.local ;
app/etc/local.xml -> app/etc/production/local.xml
;
Câu hỏi
- Có thể có bất cứ điều gì xấu về việc sử dụng phương pháp này?
- Sau khi cài đặt, Magento có ghi vào tập tin này không?
Bất kỳ lời khuyên sẽ được đánh giá rất cao.