To replicate:
  1. Connect to your WPE account and pull a site down
  2. Change the Local site's table prefix. I did this by:
  • Export the Local database
  • Ran a search/replace for the table prefix on the dumped file
  • Drop Local site's "local" database, and created a new one, import the revised sql dump
  • Update the Local site's wp-config.php file to use the new prefix
  1. Push the site to WPE
If you are tailing the local-lightning.log -- you should see messages like:
{"thread":"main","class":"","level":"info","message":"Pushing database to the remote server\n","timestamp":"2020-06-02T22:45:44.061Z"}
{"thread":"main","class":"","level":"info","message":"Success: Exported to 'sites/demowpe/_wpeprivate/push-1591137944061.sql'.\n","timestamp":"2020-06-02T22:45:51.734Z"}
{"thread":"main","class":"","level":"info","message":"Deleting remote database\n","timestamp":"2020-06-02T22:45:51.740Z"}
{"thread":"main","class":"","level":"info","message":"Success: Database reset.\n","timestamp":"2020-06-02T22:46:01.661Z"}
{"thread":"main","class":"","level":"info","message":"Dumping local database and uploading to target\n","timestamp":"2020-06-02T22:46:01.997Z"}
{"thread":"main","class":"","level":"info","message":"Replacing //demo-site.local with // in database.\n","timestamp":"2020-06-02T22:46:24.403Z"}
{"thread":"main","class":"","message":"Error: The site you have requested is not installed.\nYour table prefix is 'wp_'. Found installation with table prefix: wp_xyz_.\nOr, run wp core install to create database tables.\n","level":"warn","timestamp":"2020-06-02T22:46:35.045Z"}
And the remote server will be broken, showing the WordPress page for setting up a new site.
I haven't come across this often since the table prefix will be the same if it was pulled down initially from WPE.
Where I do see issues is when a site is created or imported into Local and _that_ site has a different table prefix, and then trying to push this new site up to overwrite the remote WPE site.