It’s as easy as:
Take a backup
wp db export
Test rewriting from HTTP to HTTPS
wp search-replace 'http://example.com' 'https://example.com' --dry-run
If everything is looking good, it’s time to rewrite:
wp search-replace 'http://example.com' 'https://example.com'
Some tutorials recommend adding the --skip-columns=guid
flag. The train of thought is that old posts will be visible to RSS readers as new ones. I don’t think this is a big problem, and it’s much cleaner to not keep non-SSL urls in your database. It can also cause issues if you are using the GUID field to grab image urls/ids from attachments. (It’s a very popular way of mapping a URL to an attachment ID). With that in mind, I find it’s best to omit this flag.