Theo câu hỏi trước của tôi Làm cách nào để đặt Drush sql-sync không sao chép người dùng giữa @dev và @staging? Tôi đã chọn trước thủ công hơn 80 bảng không được tự động đồng bộ hóa (nội dung, vai trò và quyền, người dùng, tạm thời, bộ đệm). Tôi không hoàn toàn hài lòng với giải pháp này. Tại sao? Bởi vì các quyết định bộ lọc của tôi dựa trên kinh nghiệm, trực giác và đoán khi tôi muốn sử dụng phương pháp thực hành tốt nhất.
Làm thế nào để chọn đúng bảng nào để bỏ qua drush sql-sync @dev @tst
và drush sql-sync @production @staging
?
Thiết lập của tôi:
git.drupal.org ==> kho lưu trữ gup drupal cục bộ ==> @dev -> @tst -> @staging -> @production (cấu hình, nội dung tĩnh, vai trò và quyền)@staging <- @production (nội dung, kịch bản sản xuất sẽ được kiểm tra)
Hướng dẫn dứt khoát về Drupal 7 của Benjamin Melançon và những người khác nói:
Dưới đây là danh sách các bảng xuất hiện trong
example.drushrc.php
:$options['structure-tables'] = array( 'common' => array('cache', 'cache_filter', 'cache_menu', 'cache_page', 'history', 'sessions', 'watchdog'), );
Bạn có thể cần thêm một số bảng vào danh sách này. Một nơi tốt để bắt đầu sẽ là xem xét danh sách các bảng có chứa
cache
tên của họ thông quadrush sql-query 'show tables;' | grep cache
Xóa khỏi bảng danh sách này
imagecache_action
, v.v. và thêm phần còn lại vào danh sách bảng cấu trúc của bạn.Sau khi bạn thực hiện
sql-sync
với các bảng bị bỏ qua, bạn sẽ cần xóa bộ đệm trên trang đích để đảm bảo mọi thứ hoạt động tốt.
Các bảng khác để xem xét là gì? Tại sao?