[英]Auto sync of a wordpress database requires updating it
我已經構建了一個執行以下操作的自動同步腳本:
真正的腳本如下:
echo Updating via SVN
export LC_ALL=fr_CA.UTF-8
svn up
echo Cleaning up the image and temp folder
rm -Rf wp-content/uploads/*
echo Copying files from production version
cp -R ../public_html/wp-content/uploads/* wp-content/uploads/
echo Importing wordpress database
mysqldump -u xxxyyyzzz --password=xxxyyyzzz xxxyyyzzz_db --skip-opt --add-drop-table --default-character-set=utf8 > temp.sql
sed 's/www.domain.com/preprod.domain.com/g' temp.sql > temp2.sql
mysql -u xxxyyyzzz --password=xxxyyyzzz xxxyyyzzz_preprod_db < temp2.sql
rm temp.sql
rm temp2.sql
echo Complete
除了一個小問題,這里的代碼工作正常。 當我在同步兩個項目(PROD> PREPROD)之后從wordpress加載WP-ADMIN時,我懷疑它會在PROD> STAGE和PROD> DEV時執行相同的操作,管理控制面板會向我發送“你是”數據庫已過期,我們現在將升級它“當我瀏覽我同步的網站前端時,許多perma鏈接在數據庫中失敗。
那里有沒有wordpress guru可以告訴我我可能做錯了什么? 是否存在要更新或清除的緩存。
安裝的插件列表:
我希望有人知道......
祝你們好運
WordPress使用Transients API在wp_options
表中緩存大量信息。 清除緩存可能會解決一些問題。
DELETE FROM 'wp_options' WHERE 'option_name' LIKE '_transient_%'
正如MightyE所說, sed
命令不適用於許多插件使用的任何序列化數據。 對於所有數據庫表,我不確定這是一種簡單的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.