คุณสามารถใช้ไฟล์ aliases drush บนเซิร์ฟเวอร์ dev ของคุณและตั้งค่าเพื่อข้ามตารางแคชเมื่อคุณเรียกใช้ sql-sync ต่อไปนี้จะสร้างนามแฝงสำหรับเซิร์ฟเวอร์ dev ในพื้นที่ของคุณและเซิร์ฟเวอร์ระยะไกลของคุณ:
$aliases['dev'] = array(
'root' => '/var/www/devroot',
);
$aliases['live'] = array(
'root' => '/var/www/liveroot',
'remote-host' => 'www.mysite.com',
'remote-user' => 'exampleuser',
'command-specific' => array (
'sql-sync' => array (
'skip-tables-list' => 'cache,cache_menu',
),
),
);
หากคุณบันทึกสิ่งนั้นไว้ในไดเรกทอรีหลักของคุณที่
~/.drush/mysite.aliases.drushrc.php
จากนั้นคุณสามารถเรียกคำสั่ง sql-sync ของคุณเช่นนี้:
drush sql-sync @mysite.live @mysite.dev
และควรข้ามตารางแคช (เห็นได้ชัดว่าฉันอยู่ในรายการที่ 2 เท่านั้น แต่คุณสามารถใส่อะไรลงไปในนั้นได้ฉันยังเพิ่ม watchdog ด้วย)
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับนามแฝงและตัวเลือกต่างๆให้ดูไฟล์ตัวอย่างในการติดตั้ง drush ของคุณที่ drush / samples / example.aliases.drushrc.php
ในฐานะโน้ตสุดท้ายสำหรับทุกคนที่พยายามใช้ sql-sync ฉันมีปัญหาการตรวจสอบสิทธิ์เมื่อฉันเรียกใช้ครั้งแรกดังนั้นหากมีคนพยายามทำเช่นนี้และได้รับข้อผิดพลาดเกี่ยวกับกุญแจสาธารณะ / ส่วนตัวให้ทำดังนี้
drush dl drush_extras
drush pushkey @mysite.live
drush @mysite.live status
คำสั่ง pushkey จาก drush_extras สร้างคู่คีย์ส่วนตัว / สาธารณะและส่งคีย์สาธารณะไปยังเซิร์ฟเวอร์ที่ใช้งานจริง คำสั่งสุดท้ายคือเพียงเพื่อตรวจสอบว่ามันทำงาน