Skip to content

Commit cb50870

Browse files
committed
renamed DOMAIN variables (was URL) and added DB updates
1 parent 5d7b2e4 commit cb50870

File tree

3 files changed

+106
-52
lines changed

3 files changed

+106
-52
lines changed

bin/wp-pull-remote.sh

+96-40
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,97 @@ create_temp_dir() {
3838
}
3939

4040

41+
db_update_domain_wp_blogs() {
42+
headerone 'DEST_HOST: Updating domain in wp_blogs table'
43+
pushd ${DEST_WP_DIR} >/dev/null
44+
wp db query "
45+
SELECT domain AS 'domain__contains__DEST_DOMAIN'
46+
FROM wp_blogs
47+
WHERE domain LIKE '%${SOURCE_DOMAIN}%';" \
48+
| column -t
49+
echo
50+
wp db query "
51+
UPDATE wp_blogs
52+
SET domain = REPLACE(domain, '${SOURCE_DOMAIN}', '${DEST_DOMAIN}');"
53+
wp db query "
54+
SELECT domain AS 'domain__contains__DEST_DOMAIN'
55+
FROM wp_blogs
56+
WHERE domain LIKE '%${DEST_DOMAIN}%';" \
57+
| column -t
58+
echo
59+
popd >/dev/null
60+
}
61+
62+
63+
db_update_domain_wp_domain_mapping() {
64+
headerone 'DEST_HOST: Updating domain in wp_domain_mapping table'
65+
pushd ${DEST_WP_DIR} >/dev/null
66+
wp db query "
67+
SELECT domain AS 'domain__contains__SOURCE_DOMAIN'
68+
FROM wp_domain_mapping
69+
WHERE domain LIKE '%${SOURCE_DOMAIN}%';" \
70+
| column -t
71+
echo
72+
wp db query "
73+
UPDATE wp_domain_mapping
74+
SET domain = REPLACE(domain, '${SOURCE_DOMAIN}', '${DEST_DOMAIN}');"
75+
wp db query "
76+
SELECT domain AS 'domain__contains__DEST_DOMAIN'
77+
FROM wp_domain_mapping
78+
WHERE domain LIKE '%${DEST_DOMAIN}%';" \
79+
| column -t
80+
echo
81+
popd >/dev/null
82+
}
83+
84+
85+
db_update_domain_wp_options() {
86+
headerone 'DEST_HOST: Updating DOMAIN in wp_options table'
87+
pushd ${DEST_WP_DIR} >/dev/null
88+
wp db query "
89+
SELECT option_name, option_value
90+
FROM wp_options
91+
WHERE option_name IN ('siteurl', 'home');" \
92+
| column -t
93+
echo
94+
wp db query "
95+
UPDATE wp_options
96+
SET option_value = REPLACE(option_value, '${SOURCE_DOMAIN}',
97+
'${DEST_DOMAIN}')
98+
WHERE option_name IN ('siteurl', 'home');"
99+
wp db query "
100+
SELECT option_name, option_value
101+
FROM wp_options
102+
WHERE option_name IN ('siteurl', 'home');" \
103+
| column -t
104+
echo
105+
popd >/dev/null
106+
}
107+
108+
109+
db_update_domain_wp_posts() {
110+
headerone 'DEST_HOST: Updating DOMAIN in wp_posts table'
111+
pushd ${DEST_WP_DIR} >/dev/null
112+
wp db query "
113+
SELECT COUNT(*) AS 'post_content___containing__SOURCE_DOMAIN__count'
114+
FROM wp_posts
115+
WHERE post_content LIKE '%${SOURCE_DOMAIN}%';" \
116+
| column -t
117+
echo
118+
wp db query "
119+
UPDATE wp_posts
120+
SET post_content = REPLACE(post_content, '${SOURCE_DOMAIN}',
121+
'${DEST_DOMAIN}');"
122+
wp db query "
123+
SELECT COUNT(*) AS 'post_content___containing__DEST_DOMAIN__count'
124+
FROM wp_posts
125+
WHERE post_content LIKE '%${DEST_DOMAIN}%';" \
126+
| column -t
127+
echo
128+
popd >/dev/null
129+
}
130+
131+
41132
display_dest_host_info() {
42133
headerone 'DEST_HOST: Info / Connection Validation'
43134
echo -n "${DKG}LABEL:${RST} "
@@ -133,6 +224,7 @@ replace_uploads_dir() {
133224
_msg2=' PULLED_UPLOADS_FILE'
134225
headerone "${_msg1}${_msg2}"
135226
echo "${DKG}PULLED_UPLOADS_FILE:${RST} ${PULLED_UPLOADS_FILE}"
227+
echo
136228
headertwo 'Removing old/existing upload data from DEST_UPLOADS_DIR'
137229
rm -rf "${DEST_UPLOADS_DIR}/"*
138230
donezo
@@ -151,52 +243,16 @@ replace_uploads_dir() {
151243
}
152244

153245

154-
update_urls_in_database() {
155-
headerone 'DEST_HOST: Updating URLs in database'
156-
echo "${DKG}SOURCE_URL:${RST} ${SOURCE_URL}"
157-
echo "${DKG}DEST_URL:${RST} ${DEST_URL}"
158-
echo
159-
pushd ${DEST_WP_DIR} >/dev/null
160-
headertwo 'Updating URLs in wp_options table'
161-
wp db query "
162-
UPDATE \`wp_options\`
163-
SET \`option_value\` = REPLACE( \`option_value\`, '${SOURCE_URL}',
164-
'${DEST_URL}' )
165-
WHERE \`option_name\` IN ('siteurl', 'home')
166-
;"
167-
donezo
168-
headertwo 'Updating URLs in wp_posts table'
169-
wp db query "
170-
UPDATE \`wp_posts\`
171-
SET \`post_content\` = REPLACE( \`post_content\`, '${SOURCE_URL}',
172-
'${DEST_URL}' )
173-
;"
174-
popd >/dev/null
175-
donezo
176-
}
177-
178-
179246
#### MAIN #####################################################################
180247

181248
display_dest_host_info
182249
display_source_host_info
183250
create_temp_dir
184251
pull_data
185252
import_database
186-
update_urls_in_database
253+
db_update_domain_wp_options
254+
db_update_domain_wp_blogs
255+
db_update_domain_wp_domain_mapping
256+
db_update_domain_wp_posts
187257
replace_uploads_dir
188258
remove_temp_dir
189-
190-
exit
191-
#### NOTES ####################################################################
192-
# TODO: update for multisite. note query below:
193-
cd /var/www/chapters/wp; wp db query 'SELECT * FROM wp_domain_mapping'
194-
+----+---------+-----------------------------+--------+
195-
| id | blog_id | domain | active |
196-
+----+---------+-----------------------------+--------+
197-
| 2 | 2 | au-beta.creativecommons.net | 1 |
198-
| 3 | 3 | ca-beta.creativecommons.net | 1 |
199-
| 4 | 4 | ke-beta.creativecommons.net | 1 |
200-
| 5 | 5 | mx-beta.creativecommons.net | 1 |
201-
| 6 | 6 | nl-beta.creativecommons.net | 1 |
202-
+----+---------+-----------------------------+--------+

config_examples/chapters__stage

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
#
33
# The following are parsed by wp-pull.sh:
44
#
5-
# DEST_URL: stage.creativecommons.net
5+
# DEST_DOMAIN: stage.creativecommons.net
66
# DEST_UPLOADS_DIR: /var/www/chapters/wp-content/uploads
77
# DEST_TEMP_DIR: /var/www/chapters
88
# DEST_WP_DIR: /var/www/chapters/wp
99
# BASTION_HOST_REMOTE: 10.22.10.10
1010
# SOURCE_HOST_REMOTE: 10.22.10.14
11-
# SOURCE_URL: creativecommons.net
11+
# SOURCE_DOMAIN: creativecommons.net
1212
# SOURCE_DB_FILE: /var/www/chapters/backup/now/db.sql.gz
1313
# SOURCE_UPLOADS_FILE: /var/www/chapters/backup/now/uploads.tgz
1414

wp-pull.sh

+8-10
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ Arguments:
1818
1919
Configuration File Variables:
2020
DEST_HOST Host on which to install WordPress data
21-
DEST_URL Site URL of the desintation WordPress
21+
DEST_DOMAIN Domain/Site URL of the destination WordPress
2222
DEST_UPLOADS_DIR Absolute path of WordPress uploads directory on
2323
destination host (will be destroyed and replaced)
2424
DEST_WP_DIR Absolute path of WordPress directory (where to run
2525
WP-CLI from)
2626
BASTION_HOST_REMOTE Bastion or Jump Host used to connect to
2727
SOURCE_HOST_REMOTE
2828
SOURCE_HOST_REMOTE Host to pull WordPress data from
29-
SOURCE_URL Site URL of the source WordPress
29+
SOURCE_DOMAIN Domain/Site URL of the source WordPress
3030
SOURCE_DB_FILE Absolute path of the database file (.sql.gz)
3131
SOURCE_UPLOADS_FILE Absolute path of the uploads file (.tgz)
3232
"
@@ -69,15 +69,14 @@ display_summary_and_confirm(){
6969
local _confirm _msg _rand
7070
local -i _i
7171
headerone 'WordPress Data Pull Information'
72-
echo "${DKG}DEST_HOST:${RST} ${DEST_HOST}"
73-
echo "${DKG}DEST_URL:${RST} ${DEST_URL}"
72+
echo "${DKG}DEST_DOMAIN:${RST} ${DEST_DOMAIN}"
7473
echo "${DKG}DEST_UPLOADS_DIR:${RST} ${DEST_UPLOADS_DIR}"
7574
echo "${DKG}DEST_WP_DIR:${RST} ${DEST_WP_DIR}"
7675
echo
7776
echo "${DKG}BASTION_HOST_REMOTE:${RST} ${BASTION_HOST_REMOTE}"
7877
echo
7978
echo "${DKG}SOURCE_HOST_REMOTE:${RST} ${SOURCE_HOST_REMOTE}"
80-
echo "${DKG}SOURCE_URL:${RST} ${SOURCE_URL}"
79+
echo "${DKG}SOURCE_DOMAIN:${RST} ${SOURCE_DOMAIN}"
8180
echo "${DKG}SOURCE_DB_FILE:${RST} ${SOURCE_DB_FILE}"
8281
echo "${DKG}SOURCE_UPLOADS_FILE:${RST} ${SOURCE_UPLOADS_FILE}"
8382
echo
@@ -112,13 +111,13 @@ execute_remote_script() {
112111
headerone 'DEST_HOST: Executing remote script'
113112
echo
114113
ssh -q -t -F"${CONFIG_FILE}" wp-pull "
115-
export DEST_URL=\"${DEST_URL}\"
114+
export DEST_DOMAIN=\"${DEST_DOMAIN}\"
116115
export DEST_UPLOADS_DIR=\"${DEST_UPLOADS_DIR}\"
117116
export DEST_TEMP_DIR=\"${DEST_TEMP_DIR}\"
118117
export DEST_WP_DIR=\"${DEST_WP_DIR}\"
119118
export BASTION_HOST_REMOTE=\"${BASTION_HOST_REMOTE}\"
120119
export SOURCE_HOST_REMOTE=\"${SOURCE_HOST_REMOTE}\"
121-
export SOURCE_URL=\"${SOURCE_URL}\"
120+
export SOURCE_DOMAIN=\"${SOURCE_DOMAIN}\"
122121
export SOURCE_DB_FILE=\"${SOURCE_DB_FILE}\"
123122
export SOURCE_UPLOADS_FILE=\"${SOURCE_UPLOADS_FILE}\"
124123
bin/wp-pull-remote.sh
@@ -128,8 +127,7 @@ execute_remote_script() {
128127

129128
extract_variables_from_config() {
130129
local _f="${CONFIG_FILE}"
131-
DEST_HOST="$(awk '/^# DEST_HOST:/ {print $3}' "${_f}")"
132-
DEST_URL="$(awk '/^# DEST_URL:/ {print $3}' "${_f}")"
130+
DEST_DOMAIN="$(awk '/^# DEST_DOMAIN:/ {print $3}' "${_f}")"
133131
DEST_UPLOADS_DIR="$(awk '/^# DEST_UPLOADS_DIR:/ {print $3}' "${_f}")"
134132
DEST_UPLOADS_DIR="${DEST_UPLOADS_DIR%/}"
135133
DEST_TEMP_DIR="$(awk '/^# DEST_TEMP_DIR:/ {print $3}' "${_f}")"
@@ -138,7 +136,7 @@ extract_variables_from_config() {
138136
DEST_WP_DIR="${DEST_WP_DIR%/}"
139137
BASTION_HOST_REMOTE="$(awk '/^# BASTION_HOST_REMOTE:/ {print $3}' "${_f}")"
140138
SOURCE_HOST_REMOTE="$(awk '/^# SOURCE_HOST_REMOTE:/ {print $3}' "${_f}")"
141-
SOURCE_URL="$(awk '/^# SOURCE_URL:/ {print $3}' "${_f}")"
139+
SOURCE_DOMAIN="$(awk '/^# SOURCE_DOMAIN:/ {print $3}' "${_f}")"
142140
SOURCE_DB_FILE="$(awk '/^# SOURCE_DB_FILE:/ {print $3}' "${_f}")"
143141
SOURCE_UPLOADS_FILE="$(awk '/^# SOURCE_UPLOADS_FILE:/ {print $3}' "${_f}")"
144142
}

0 commit comments

Comments
 (0)