חפש והחלף (search and replace) במסד־נתונים SQL

לאחר שהעברתי את הבלוג מהשרת הביתי לשרתי ZendFree התעוררה לי בעיה, כל התמונות והקישורים קישרו לכתובת הקודמת (arielgalula.dyndns.org) והקודם־קודמת (arielgalula.blogli.co.il). בדיעבד הסתבר שלפחות בפעם האחרונה לא העברתי את הבלוג בצורה המומלצת. במקום לייצא את הפוסטים בשרת הביתי ולייבא אותם בשרת החדש העברתי את מסד הנתונים כולו בעזרת phpMyAdmin. כאשר מייבאים דרך וורדפרס, וורדפרס יודעת להוריד את הקבצים מהשרת הישן, להעלות אותם לחדש ולעדכן את הקישורים.

ידעתי שלאחר קצת נבירה ברשת (ככתוב "google is your friend") אמצא פתרון פשוט יחסית לעדכן את כל הקישורים באופן אוטומטי ואולי גם אמצא תוסף וורדפרס שיעשה את העבודה. לבסוף מצאתי את הפוסט הבא: "Search and Replace in WordpPress MySQL Database".

התהליך המתואר בפוסט איננו אוטומטי לחלוטין, אלא למחצה, אך למסד־נתונים קטן כמו שלי – די בכך.

  1. תחילה יש לחפש באופן ידני בלשונית Search ב-phpMyAdmin את כל המקומות בהם מופיעה המחרוזת הישנה (במקרה דנן arielgalula.dyndns.org ו-arielgalula.blogli.co.il).
  2. לוודא כי אכן המחרוזות האלה מופיעות בתוך קישורים.
  3. לבדוק את שם הטבלה במסד־הנתונים (למשל wp_posts).
  4. לבדוק את שם השדה במסד־הנתונים (למשל post_content).
  5. לבסוף להריץ בלשונית SQL ב-phpMyAdmin‏ את הפקודה הבאה:

UPDATE wp_posts SET post_content = REPLACE (post_content, 'arielgalula.dyndns.org', 'megira.info');

את אותה פקודה ניתן להריץ ישירות בשורת הפקודה של SQL, אך מסיבות אבטחה חברת ZendFree לא מספקת גישה ל-SSH.

פורסם בקטגוריה מחשבים, עם התגים , , , . אפשר להגיע לכאן עם קישור ישיר.

2 תגובות בנושא חפש והחלף (search and replace) במסד־נתונים SQL

  1. מאת חתול‏:

    הטיפ הזה היה שימושי אצלי לא פעם.

השאר תגובה