Moving users Watchlist

I run two servers, one at home and one remote. They are duplicates of each other and I have everything synced automatically.
I am getting gig fiber installed at home and I want to move my shared users from the remote one to my home server.
How can I do this without the users losing their watched list?

Try following this guide. https://support.plex.tv/hc/en-us/articles/201154527-Move-Viewstate-Ratings-from-One-Install-to-Another

@MovieFan.Plex Would this also work in automating syncing Watched Lists across servers?

What happens if PMS #1 has TV shows or movies not on PMS#2? If I later add that media that was missing from one to the other does the watched status carry over?

What happens for users that aren’t on both servers? Does this data still get imported and then “new” shares created for these different users? Does the data for a user not get copied into the DB for users not in that server’s list?

@MikeG6.5 said:
@anon18523487 Would this also work in automating syncing Watched Lists across servers?
No. This is for new installs as it copies over the entire watched status table and not just updating. You could potentially do what you want using some other database hacking.
What happens if PMS #1 has TV shows or movies not on PMS#2? If I later add that media that was missing from one to the other does the watched status carry over?
Watched status never gets removed so if you add in a watched status for something that doesn’t exist, and add it later, it will appear as already watched.
What happens for users that aren’t on both servers? Does this data still get imported and then “new” shares created for these different users? Does the data for a user not get copied into the DB for users not in that server’s list?
The above already assumes the user exists, you’ll get a bunch of errors and the transfer probably won’t work right. The user info is based on a user id, which doesn’t change (at least for regular Plex users, managed user id’s can get changed if you remove re-add them). Users are tied to your account, so if you’ve signed both servers into your Plex account, they should have the same users.

@MikeG6.5 said:
@MovieFan.Plex Would this also work in automating syncing Watched Lists across servers?

What happens if PMS #1 has TV shows or movies not on PMS#2? If I later add that media that was missing from one to the other does the watched status carry over?

Just to add on this, the way the watched status table works is by the guid, which is probably a better method than using the regular id. Anyway, as long as you use the same agent for both libraries then you would be good to go as that is what the guid is based off.

Just to add onto what @“MovieFan.Plex” already said.

-Shark2k

@shark2k said:
Just to add on this, the way the watched status table works is by the guid, which is probably a better method than using the regular id. Anyway, as long as you use the same agent for both libraries then you would be good to go as that is what the guid is based off.
-Shark2k

Yeah, I knew if I had something, watched it, deleted it and then re-added it, that the watched status would carry over. what I didn’t know would work or not is if it was a whole new media item but the watched status came from another source. But I should have known this, as I’ve done the watch, delete, add again a few times…

After installing cygwin and sqlite, I entered the command in the db directory and this is what I get:
echo “.dump metadata_item_settings” | sqlite3 com.plexapp.plugins.library.db | grep -v TABLE | grep -v INDEX > settings.sql

Error: incomplete SQL: “.dump metadata_item_settings”

I’m not sure how to use cygwin so I can’t help there. You don’t need it, though. Download sqlite-tools-win32-x86-3150200.zip from SQLite’s official site at https://sqlite.org/download.html. Then extract the sqlite3.exe file and place it next to your library folder. Then open a command prompt window to that folder and enter:

sqlite3 com.plexapp.plugins.library.db ".dump metadata_item_settings" > settings.sql

Copy that settings.sql to where the destination database is and run:

sqlite3 com.plexapp.plugins.library.db ".read settings.sql"

Cygwin has the grep command in it.