13. Kathleen
Vignos
Migra&on:
Purge
Data
•
Trash
•
Revisions
•
Comments,
trackbacks,
pingbacks
•
Links
•
Transients
•
Authors
with
no
posts
•
Categories
and
tags
with
0,
1,
2
posts
@WordCampSF
2014 @kathleencodes
14. Migra&on:
Taxonomy
Updates
•
Add
blog
category
for
each
post
•
Convert
categories
to
tags
•
ShiY
remaining
categories
to
subcategories
•
Use
wp-‐cli
Kathleen
Vignos
http://wp-cli.org
@WordCampSF
2014 @kathleencodes
16. Migra&on:
Export/Import,
Custom
Scripts
•
Max
import
20MB
(configurable)
•
Large
export
can
trigger
PHP
memory
limits
Kathleen
Vignos
Why
we
needed
custom
scripts:
!
1.
WP
Export/Import
Limits
2.
DuplicaHon
of
authors
across
blogs
3.
Mapping
posts
to
new
categories
4.
Storing
old
post
ID
in
post
meta
@WordCampSF
2014 @kathleencodes
17. Migra&on:
Export/Import,
Custom
Scripts
Our
migraHon
script
process:
!
1.
Nightly
backup
of
producHon
DB
to
S3
2.
gzip
pulled
down
from
S3
to
a
local
DB
3.
Scripts
run
against
local
DB
4.
DB
saved
back
to
S3
5.
Test,
sanity
checks
Kathleen
Vignos
@WordCampSF
2014 @kathleencodes
18. Kathleen
Vignos
Migra&on:
Sanity
Checks
Can’t
manually
test
100K+
posts,
so…
!
•
Script
to
check
data
mapping
•
Script
to
check
data
integrity
@WordCampSF
2014 @kathleencodes
19. Migra&on:
Sanity
Checks,
Mapping
Check
data
mapping
from
old
site
to
new
wp_gadgetlab_posts LEFT OUTER JOIN wp_posts
Kathleen
Vignos
@WordCampSF
2014 @kathleencodes
✓
All
old
posts
in
new
table
✓
Post
content
matches
✓
Post
aCachments
map
to
parent
post
✓
Post
terms
carried
over
hCp://wrd.cm/pangea-‐data-‐mapping-‐gist
20. Migra&on:
Sanity
Checks,
Integrity
Check
that
data
on
new
site
makes
sense
Kathleen
Vignos
@WordCampSF
2014 @kathleencodes
✓No
uncategorized
(homeless)
posts
✓No
phantom
authors
✓No
duplicate
posts
✓No
orphans:
postmeta,
aCachments,
galleries
hCp://wrd.cm/pangea-‐data-‐integrity-‐gist