Skip to content

Playlist copy songs

One song as a platform's copy of the playlist held it at the last synchronization.

This page is the dictionary for the table. It holds the definition and purpose of every field, and it is where a field is changed.

Fields

Field Key Type Required Allowed values or link Definition Purpose Notes
Playlist_Copy PLAYLIST_COPY_SONGS.PLAYLIST_COPY Link to one row Yes Row of Playlist_Copies A link to the copy that held the song. Keeps the last synchronized state of each copy.
Song PLAYLIST_COPY_SONGS.SONG Link to one row Yes Row of Songs A link to the Songs row that the copy held. Lets a later synchronization tell a removed song from one that has not arrived.
Position PLAYLIST_COPY_SONGS.POSITION Whole number The place of the song in the copy, counted from 1. Blank when the platform keeps no order. Compares the order on platforms that keep one.
Platform_Added_Time PLAYLIST_COPY_SONGS.PLATFORM_ADDED_TIME Date and time (UTC) The moment the platform says the song was added. Blank when the platform does not say. Decides which side wins when two platforms disagree.
Seen_Time PLAYLIST_COPY_SONGS.SEEN_TIME Date and time (UTC) Yes The moment VeeJay last saw the song on the copy. Shows how old the record of the copy is.

Constraints

What the database enforces on each field, beyond its type. A field that is not listed has no default, no uniqueness, no range and no reference. Every field marked Required is NOT NULL.

Field Default Unique Range or pattern Refers to
Playlist_Copy core_Playlist_Copies
Song core_Songs
Position 1 or more
Platform_Added_Time a real instant, YYYY-MM-DDTHH:MM:SSZ
Seen_Time a real instant, YYYY-MM-DDTHH:MM:SSZ

Rules across fields:

  • A song appears once in a copy: the pair Playlist_Copy and Song is unique.

The table is core_Playlist_Copy_Songs. Every link refuses a missing target and refuses the deletion of a row that another row still points to.