the re-indexing problem of media on external drives (when ejected)
I suppose it has its challenges to track what is attached and keep this updated, esp. with the range of spec of the NAS.
I'm using an always attached 4TB eSata drive for my VS library and keep this update updated using CCC from my iMac's. If I move or update a file that CCC with sync to the VS folders then CCC is set to move any current file to a _CCC snapshot archive folder. VS keeps a track of the moved file and I end up with dual files for one VS item.
If I don't delete the saved snapshot file from within VS then it may automatically update the SQL library eventually or not. It's the maintenance of the SQL DB that needs to be changed, such that:
- Is the shared folder where the file is located active? Yes/No
- Yes: is the file still there? Yes/No
- Yes: flag as available
- No: if last file for library item then delete library item
- No: flag file as offline/unavailable
This would need additional columns added to the VS SQL DB otherwise every page refresh would require the folder/file structure to be scanned before returning the webpage. These are the table schema that I extract (purely for my info) and there isn't an availability flag.
Code:
id | type
id | mapper_id | path | filesize | duration | container_type | video_codec | frame_bitrate | frame_rate_num | frame_rate_den | video_bitrate | video_profile | ff_video_profile | video_level | resolutionx | resolutiony | display_x | display_y | rotation | audio_codec | audio_bitrate | frequency | channel | updated | create_date | modify_date
id | mapper_id | summary | create_date | modify_date
id | mapper_id | plus_info | create_date | modify_date
id | mapper_id | lo_oid | md5 | create_date | modify_date
id | mapper_id | writer | create_date | modify_date
id | mapper_id | director | create_date | modify_date
id | mapper_id | actor | create_date | modify_date
id | mapper_id | gnere | create_date | modify_date
id | title | type | is_public
id | uid | library_id | type
id | uid | title | is_smart | create_date | modify_date
id | mapper_id | collection_id | create_date | modify_date
id | mapper_id | library_id | title | sort_title | tag_line | year | originally_available | sort_time | certificate | islock | create_date | modify_date | rating | tmdb_id
id | mapper_id | library_id | title | sort_title | year | originally_available | sort_time | islock | create_date | modify_date
id | tvshow_id | library_id | mapper_id | tag_line | season | episode | year | originally_available | sort_time | certificate | islock | create_date | modify_date | rating
id | mapper_id | library_id | title | sort_title | record_time | record_time_utc | certificate | create_date | modify_date | rating
id | mapper_id | title | sort_title | channel_name | record_time | record_time_utc | create_date | modify_date
id | uid | video_file_id | mapper_id | position | create_date | modify_date | subtitle_id | audio_track
id | collection_id | avail_date | exp_date | permanent
Doing that available/unavailable scan would have to be done periodically and also would need admin settings to ignore unmounted shared folder items when re-indexing/metatagging.
Since VS / AS / PS / Moments are library based applications then messing with their library and tracked files en masse would seem to be asking for it to get upset or sulky

I don't go into Mac Photos library and move files around and expect it to continue to work.
If the USB is unexpectedly unmounting then using a UPS with surge protection may help, it could be another appliance that is causing it. Also I don't power down my NAS often and when I do I've not seen any issue with the eSata drive not getting mounted in enough time for VS to have problems.
Though .... I regularly export vsmeta files for all the files when I'm happy with their info. I can also run a script to set the SQL DB row to locked, if I wanted to.