# Moving users Watchlist

**URL:** <https://forums.plex.tv/t/moving-users-watchlist/170143>\
**Category:** General Discussions\
**Created:** [December 7, 2016, 3:39pm UTC](https://forums.plex.tv/t/moving-users-watchlist/170143 "2016-12-07T15:39:31Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![benplace](https://avatars.discourse-cdn.com/v4/letter/b/8e7dd6/32.png) [@benplace](https://forums.plex.tv/u/benplace)\
**Post date:** [December 7, 2016, 3:39pm UTC](https://forums.plex.tv/t/moving-users-watchlist/170143/1 "2016-12-07T15:39:31Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![anon18523487](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@anon18523487](https://forums.plex.tv/u/anon18523487)\
**Post date:** [December 7, 2016, 9:28pm UTC](https://forums.plex.tv/t/moving-users-watchlist/170143/2 "2016-12-07T21:28:18Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![MikeG6.5](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/mikeg6.5/32/10150_2.png) [@MikeG6.5](https://forums.plex.tv/u/MikeG6.5)\
**Post date:** [December 7, 2016, 10:33pm UTC](https://forums.plex.tv/t/moving-users-watchlist/170143/3 "2016-12-07T22:33:06Z")

</div>

@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?

---

<div class="post-metadata">

**Author:** ![anon18523487](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@anon18523487](https://forums.plex.tv/u/anon18523487)\
**Post date:** [December 7, 2016, 10:49pm UTC](https://forums.plex.tv/t/moving-users-watchlist/170143/4 "2016-12-07T22:49:22Z")

</div>

> @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.

---

<div class="post-metadata">

**Author:** ![shark2k](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/shark2k/32/305908_2.png) [@shark2k](https://forums.plex.tv/u/shark2k)\
**Post date:** [December 8, 2016, 12:20am UTC](https://forums.plex.tv/t/moving-users-watchlist/170143/5 "2016-12-08T00:20:25Z")

</div>

> @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

---

<div class="post-metadata">

**Author:** ![MikeG6.5](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/mikeg6.5/32/10150_2.png) [@MikeG6.5](https://forums.plex.tv/u/MikeG6.5)\
**Post date:** [December 8, 2016, 12:34am UTC](https://forums.plex.tv/t/moving-users-watchlist/170143/6 "2016-12-08T00:34:36Z")

</div>

> @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…

---

<div class="post-metadata">

**Author:** ![benplace](https://avatars.discourse-cdn.com/v4/letter/b/8e7dd6/32.png) [@benplace](https://forums.plex.tv/u/benplace)\
**Post date:** [December 8, 2016, 3:55pm UTC](https://forums.plex.tv/t/moving-users-watchlist/170143/7 "2016-12-08T15:55:04Z")

</div>

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”

---

<div class="post-metadata">

**Author:** ![anon18523487](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@anon18523487](https://forums.plex.tv/u/anon18523487)\
**Post date:** [December 9, 2016, 6:35am UTC](https://forums.plex.tv/t/moving-users-watchlist/170143/8 "2016-12-09T06:35:12Z")

</div>

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](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"`

---

<div class="post-metadata">

**Author:** ![benplace](https://avatars.discourse-cdn.com/v4/letter/b/8e7dd6/32.png) [@benplace](https://forums.plex.tv/u/benplace)\
**Post date:** [December 13, 2016, 5:46pm UTC](https://forums.plex.tv/t/moving-users-watchlist/170143/9 "2016-12-13T17:46:17Z")

</div>

Cygwin has the grep command in it.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/plex/original/3X/2/a/2acb9765406f63293d357b4ec509ec39aa28f2ad.png) [@system](https://forums.plex.tv/u/system)\
**Post date:** [January 7, 2020, 10:21pm UTC](https://forums.plex.tv/t/moving-users-watchlist/170143/10 "2020-01-07T22:21:42Z")

</div>


