البحث الشامل واستبدال قواعد بيانات وورد - الطريق السهل
هناك عدة مناسبات حيث يتعين علينا تغيير عناوين المواقع في قاعدة بيانات ووردبريس الخاصة بنا. على سبيل المثال ، نحتاج إلى القيام بذلك بعد ترحيل قاعدة بيانات WordPress من موقع واحد ، على سبيل المثال من http://acme.com
موقع الإنتاج عن بعد ، إلى http://acme.dev
موقع التنمية المحلية على جهاز الكمبيوتر الخاص بنا.
يستضيف WordPress.org عددًا كبيرًا من المكونات الإضافية ، مثل WP DBManager و WP Migrate DB ، وهناك أيضًا عدد من أدوات الطرف الثالث التي تتيح لك قاعدة بيانات الاستيراد بسهولة. الجزء الصعب هو الاضطرار إلى تغيير كل مثيل URL داخل قاعدة البيانات.
بعد ترحيل قاعدة البيانات ، وعناوين المواقع داخلها لا تزال تشير إلى الموقع القديم, في هذه الحالة ل acme.com
. قد تجد URL القديم في wp_options
الجدول ، تعيين كقيمة URL الموقع
و الصفحة الرئيسية
الخيارات ، وربما تكون أيضًا مضمنة في صفوف وجداول أخرى عديدة في قاعدة البيانات. قد تمنع عناوين URL القديمة هذه موقعك في النهاية من العمل بشكل صحيح ، لذلك تحتاج إلى ذلك قم بتغييرها إلى عنوان URL الجديد, في مثالنا ل acme.dev
.
في هذه المرحلة ، الوصول إلى موقع التطوير الخاص بنا على acme.dev
سوف يؤدي ببساطة إلى صفحة فارغة.
إذا كيف يمكننا تغيير كل عناوين URL هذه في قاعدة البيانات?
تشغيل استعلام SQL
عادةً ما يقوم الأشخاص بتشغيل استعلام SQL التالي الذي يحل محل قيم URL الموقع
و الصفحة الرئيسية
الخيارات في wp_options
الطاولة.
UPDATE wp_options SET option_value = replace (option_value ، 'http://acme.com' ، 'http://acme.dev') WHERE option_name = 'home' OR option_name = 'siteurl'؛
بعد ذلك ، يستخدمون استعلام SQL آخر لاستبدال كل تواجدات URL في wp_posts
الجدول ، وهي في آخر المحتوى
عمود من كل صف.
UPDATE wp_posts SET post_content = replace (post_content، 'http://acme.com'، 'http://acme.dev')؛
يعد تشغيل هذه الاستعلامات حلاً قابلاً للتطبيق ، لكن في الوقت نفسه ، ليس مناسبًا للقيام به. قد يكون الأمر مزعجًا للأعصاب ، ورؤية كيف يمكن أن تتحول قاعدة البيانات إلى أسطر بسبب إشراف بسيط داخل الاستعلام.
الاستفادة من WP-CLI
طريق آخر يمكننا القيام به ، والذي وجدته بديلاً مفيدًا أكثر ، هو الطريق الصحيح الاستفادة من سطر الأوامر WP-CLI. هذا يعني أنك ستحتاج إلى تثبيت WP-CLI.
على افتراض أنك قمت بتثبيت WP-CLI ولديك الفسفور الابيض
يمكن الوصول إلى الأمر كاسم مستعار ، انتقل إلى الدليل الذي توجد به ملفات موقع WordPress.
ثم قم بتشغيل الأمر التالي:
wp search-replace 'http://acme.com "http://acme.dev
المعلمة الأولى, "http://acme.com"
, هو الإدخال القديم ليحل محله الثاني, "http://acme.dev"
.
سوف سطر الأوامر من خلال البحث جميع الجداول داخل قاعدة البيانات, ليس فقط آخر المحتوى
العمود و wp_options
الجدول ، و استبدال كل مثيل من الدخول مرت من خلال معلمات الأمر.
كما ترون من الصورة أعلاه ، تم إجراء ما مجموعه 225 بدائل. وقد فعلنا ذلك من خلال قيادة بسيطة.
أعتقد أنه من الجدير بالذكر أنه يمكننا استخدام الفسفور الابيض بحث استبدال
الأمر ، ليس فقط لاستبدال عناوين URL ، ولكن أي جزء من القيمة تخزينها في قاعدة البيانات كذلك. يمكننا أيضًا تقييد العملية في جدول معين بتمرير اسم الجدول كمعلمة رابعة ، كما يلي:
wp search-replace ".jpg" .webp 'wp_posts
تشغيل الأمر أعلاه ، سوف يبحث فقط من خلال wp_posts
, الجدول الذي يخزّن المحتوى - المنشورات والصفحات وما إلى ذلك - ويستبدل ملحق الصورة منه .JPG
إلى .ويب بي
.
تعمل WP-CLI على جعل عملية SQL المتشابكة تبدو أكثر سهولة ، ويمكنك العمل معها بطريقة أكثر ملاءمة. إذا كنت ترغب في ضبط الأوامر الخاصة بك ، فقم بإلقاء نظرة على وثائق WP-CLI ، والتي توفر لك قائمة من الخيارات لإجراء عملية أكثر تطوراً باستخدام الفسفور الابيض بحث استبدال
أمر.