6e74f16a77
Signed-off-by: Michael Mayer <michael@photoprism.app>
535 lines
No EOL
13 KiB
Text
535 lines
No EOL
13 KiB
Text
classDiagram
|
|
class accounts {
|
|
varchar(160) acc_name
|
|
varchar(160) acc_owner
|
|
varchar(255) acc_url
|
|
varbinary(255) acc_type
|
|
varbinary(255) acc_key
|
|
varbinary(255) acc_user
|
|
varbinary(255) acc_pass
|
|
varbinary(16) acc_timeout
|
|
varbinary(512) acc_error
|
|
int(11) acc_errors
|
|
tinyint(1) acc_share
|
|
tinyint(1) acc_sync
|
|
int(11) retry_limit
|
|
varbinary(500) share_path
|
|
varbinary(16) share_size
|
|
int(11) share_expires
|
|
varbinary(500) sync_path
|
|
varbinary(16) sync_status
|
|
int(11) sync_interval
|
|
datetime sync_date
|
|
tinyint(1) sync_upload
|
|
tinyint(1) sync_download
|
|
tinyint(1) sync_filenames
|
|
tinyint(1) sync_raw
|
|
datetime created_at
|
|
datetime updated_at
|
|
datetime deleted_at
|
|
int(10) unsigned id
|
|
}
|
|
class addresses {
|
|
varbinary(64) cell_id
|
|
varbinary(8) address_src
|
|
float address_lat
|
|
float address_lng
|
|
varchar(255) address_line1
|
|
varchar(255) address_line2
|
|
varchar(32) address_zip
|
|
varchar(128) address_city
|
|
varchar(128) address_state
|
|
varbinary(2) address_country
|
|
varchar(1024) address_notes
|
|
datetime created_at
|
|
datetime updated_at
|
|
datetime deleted_at
|
|
int(11) id
|
|
}
|
|
class albums {
|
|
varbinary(64) album_uid
|
|
varbinary(64) parent_uid
|
|
varbinary(160) album_slug
|
|
varbinary(500) album_path
|
|
varbinary(8) album_type
|
|
varchar(160) album_title
|
|
varchar(160) album_location
|
|
varchar(100) album_category
|
|
varchar(1024) album_caption
|
|
varchar(2048) album_description
|
|
varchar(1024) album_notes
|
|
varbinary(2048) album_filter
|
|
varbinary(32) album_order
|
|
varbinary(255) album_template
|
|
varchar(100) album_state
|
|
varbinary(2) album_country
|
|
int(11) album_year
|
|
int(11) album_month
|
|
int(11) album_day
|
|
tinyint(1) album_favorite
|
|
tinyint(1) album_private
|
|
varbinary(128) thumb
|
|
varbinary(8) thumb_src
|
|
datetime created_at
|
|
datetime updated_at
|
|
datetime deleted_at
|
|
int(10) unsigned id
|
|
}
|
|
class cameras {
|
|
varbinary(160) camera_slug
|
|
varchar(160) camera_name
|
|
varchar(160) camera_make
|
|
varchar(160) camera_model
|
|
varchar(100) camera_type
|
|
varchar(2048) camera_description
|
|
varchar(1024) camera_notes
|
|
datetime created_at
|
|
datetime updated_at
|
|
datetime deleted_at
|
|
int(10) unsigned id
|
|
}
|
|
class categories {
|
|
int(10) unsigned label_id
|
|
int(10) unsigned category_id
|
|
}
|
|
class cells {
|
|
varchar(200) cell_name
|
|
varchar(100) cell_street
|
|
varchar(50) cell_postcode
|
|
varchar(50) cell_category
|
|
varbinary(64) place_id
|
|
datetime created_at
|
|
datetime updated_at
|
|
varbinary(64) id
|
|
}
|
|
class countries {
|
|
varbinary(160) country_slug
|
|
varchar(160) country_name
|
|
varchar(2048) country_description
|
|
varchar(1024) country_notes
|
|
int(10) unsigned country_photo_id
|
|
varbinary(2) id
|
|
}
|
|
class details {
|
|
varchar(2048) keywords
|
|
varbinary(8) keywords_src
|
|
varchar(2048) notes
|
|
varbinary(8) notes_src
|
|
varchar(1024) subject
|
|
varbinary(8) subject_src
|
|
varchar(1024) artist
|
|
varbinary(8) artist_src
|
|
varchar(1024) copyright
|
|
varbinary(8) copyright_src
|
|
varchar(1024) license
|
|
varbinary(8) license_src
|
|
varchar(1024) software
|
|
varbinary(8) software_src
|
|
datetime created_at
|
|
datetime updated_at
|
|
int(10) unsigned photo_id
|
|
}
|
|
class duplicates {
|
|
varbinary(128) file_hash
|
|
bigint(20) file_size
|
|
bigint(20) mod_time
|
|
varbinary(755) file_name
|
|
varbinary(16) file_root
|
|
}
|
|
class errors {
|
|
datetime error_time
|
|
varbinary(32) error_level
|
|
varbinary(2048) error_message
|
|
int(10) unsigned id
|
|
}
|
|
class faces {
|
|
varbinary(8) face_src
|
|
int(11) face_kind
|
|
tinyint(1) face_hidden
|
|
varbinary(64) subj_uid
|
|
int(11) samples
|
|
double sample_radius
|
|
int(11) collisions
|
|
double collision_radius
|
|
mediumblob embedding_json
|
|
datetime matched_at
|
|
datetime created_at
|
|
datetime updated_at
|
|
varbinary(64) id
|
|
}
|
|
class files {
|
|
int(10) unsigned photo_id
|
|
varbinary(64) photo_uid
|
|
datetime photo_taken_at
|
|
varbinary(48) time_index
|
|
varbinary(32) media_id
|
|
bigint(20) media_utc
|
|
varbinary(64) instance_id
|
|
varbinary(64) file_uid
|
|
varbinary(755) file_name
|
|
varbinary(16) file_root
|
|
varbinary(755) original_name
|
|
varbinary(128) file_hash
|
|
bigint(20) file_size
|
|
varbinary(32) file_codec
|
|
varbinary(16) file_type
|
|
varbinary(16) media_type
|
|
varbinary(64) file_mime
|
|
tinyint(1) file_primary
|
|
tinyint(1) file_sidecar
|
|
tinyint(1) file_missing
|
|
tinyint(1) file_portrait
|
|
tinyint(1) file_video
|
|
bigint(20) file_duration
|
|
double file_fps
|
|
int(11) file_frames
|
|
int(11) file_width
|
|
int(11) file_height
|
|
int(11) file_orientation
|
|
varbinary(64) file_projection
|
|
float file_aspect_ratio
|
|
tinyint(1) file_hdr
|
|
tinyint(1) file_watermark
|
|
varbinary(64) file_color_profile
|
|
varbinary(16) file_main_color
|
|
varbinary(9) file_colors
|
|
varbinary(9) file_luminance
|
|
int(11) file_diff
|
|
smallint(6) file_chroma
|
|
varchar(64) file_software
|
|
varbinary(512) file_error
|
|
bigint(20) mod_time
|
|
datetime created_at
|
|
bigint(20) created_in
|
|
datetime updated_at
|
|
bigint(20) updated_in
|
|
datetime deleted_at
|
|
int(10) unsigned id
|
|
}
|
|
class files_share {
|
|
varbinary(16) status
|
|
varbinary(512) error
|
|
int(11) errors
|
|
datetime created_at
|
|
datetime updated_at
|
|
int(10) unsigned file_id
|
|
int(10) unsigned account_id
|
|
varbinary(255) remote_name
|
|
}
|
|
class files_sync {
|
|
int(10) unsigned file_id
|
|
datetime remote_date
|
|
bigint(20) remote_size
|
|
varbinary(16) status
|
|
varbinary(512) error
|
|
int(11) errors
|
|
datetime created_at
|
|
datetime updated_at
|
|
varbinary(255) remote_name
|
|
int(10) unsigned account_id
|
|
}
|
|
class folders {
|
|
varbinary(500) path
|
|
varbinary(16) root
|
|
varbinary(16) folder_type
|
|
varchar(200) folder_title
|
|
varchar(100) folder_category
|
|
varchar(2048) folder_description
|
|
varbinary(32) folder_order
|
|
varbinary(2) folder_country
|
|
int(11) folder_year
|
|
int(11) folder_month
|
|
int(11) folder_day
|
|
tinyint(1) folder_favorite
|
|
tinyint(1) folder_private
|
|
tinyint(1) folder_ignore
|
|
tinyint(1) folder_watch
|
|
datetime created_at
|
|
datetime updated_at
|
|
datetime modified_at
|
|
datetime deleted_at
|
|
varbinary(64) folder_uid
|
|
}
|
|
class keywords {
|
|
varchar(64) keyword
|
|
tinyint(1) skip
|
|
int(10) unsigned id
|
|
}
|
|
class labels {
|
|
varbinary(64) label_uid
|
|
varbinary(160) label_slug
|
|
varbinary(160) custom_slug
|
|
varchar(160) label_name
|
|
int(11) label_priority
|
|
tinyint(1) label_favorite
|
|
varchar(2048) label_description
|
|
varchar(1024) label_notes
|
|
int(11) photo_count
|
|
varbinary(128) thumb
|
|
varbinary(8) thumb_src
|
|
datetime created_at
|
|
datetime updated_at
|
|
datetime deleted_at
|
|
int(10) unsigned id
|
|
}
|
|
class lenses {
|
|
varbinary(160) lens_slug
|
|
varchar(160) lens_name
|
|
varchar(160) lens_make
|
|
varchar(160) lens_model
|
|
varchar(100) lens_type
|
|
varchar(2048) lens_description
|
|
varchar(1024) lens_notes
|
|
datetime created_at
|
|
datetime updated_at
|
|
datetime deleted_at
|
|
int(10) unsigned id
|
|
}
|
|
class links {
|
|
varbinary(64) shared_uid
|
|
varbinary(160) link_slug
|
|
varbinary(160) link_token
|
|
int(11) link_expires
|
|
int(10) unsigned link_views
|
|
int(10) unsigned max_views
|
|
tinyint(1) has_password
|
|
tinyint(1) can_comment
|
|
tinyint(1) can_edit
|
|
datetime created_at
|
|
datetime modified_at
|
|
varbinary(64) link_uid
|
|
}
|
|
class markers {
|
|
varbinary(64) file_uid
|
|
varbinary(8) marker_type
|
|
varbinary(8) marker_src
|
|
varchar(160) marker_name
|
|
tinyint(1) marker_review
|
|
tinyint(1) marker_invalid
|
|
varbinary(64) subj_uid
|
|
varbinary(8) subj_src
|
|
varbinary(64) face_id
|
|
double face_dist
|
|
mediumblob embeddings_json
|
|
mediumblob landmarks_json
|
|
float x
|
|
float y
|
|
float w
|
|
float h
|
|
int(11) q
|
|
int(11) size
|
|
smallint(6) score
|
|
varbinary(128) thumb
|
|
datetime matched_at
|
|
datetime created_at
|
|
datetime updated_at
|
|
varbinary(64) marker_uid
|
|
}
|
|
class migrations {
|
|
varchar(16) dialect
|
|
varchar(255) error
|
|
varchar(16) source
|
|
datetime started_at
|
|
datetime finished_at
|
|
varchar(16) id
|
|
}
|
|
class passwords {
|
|
varbinary(255) hash
|
|
datetime created_at
|
|
datetime updated_at
|
|
varbinary(255) uid
|
|
}
|
|
class photos {
|
|
varbinary(64) uuid
|
|
datetime taken_at
|
|
datetime taken_at_local
|
|
varbinary(8) taken_src
|
|
varbinary(64) photo_uid
|
|
varbinary(8) photo_type
|
|
varbinary(8) type_src
|
|
varchar(200) photo_title
|
|
varbinary(8) title_src
|
|
varchar(4096) photo_description
|
|
varbinary(8) description_src
|
|
varbinary(500) photo_path
|
|
varbinary(255) photo_name
|
|
varbinary(755) original_name
|
|
tinyint(4) photo_stack
|
|
tinyint(1) photo_favorite
|
|
tinyint(1) photo_private
|
|
tinyint(1) photo_scan
|
|
tinyint(1) photo_panorama
|
|
varbinary(64) time_zone
|
|
varbinary(64) place_id
|
|
varbinary(8) place_src
|
|
varbinary(64) cell_id
|
|
int(11) cell_accuracy
|
|
int(11) photo_altitude
|
|
float photo_lat
|
|
float photo_lng
|
|
varbinary(2) photo_country
|
|
int(11) photo_year
|
|
int(11) photo_month
|
|
int(11) photo_day
|
|
int(11) photo_iso
|
|
varbinary(64) photo_exposure
|
|
float photo_f_number
|
|
int(11) photo_focal_length
|
|
smallint(6) photo_quality
|
|
int(11) photo_faces
|
|
smallint(6) photo_resolution
|
|
smallint(6) photo_color
|
|
int(10) unsigned camera_id
|
|
varbinary(160) camera_serial
|
|
varbinary(8) camera_src
|
|
int(10) unsigned lens_id
|
|
datetime created_at
|
|
datetime updated_at
|
|
datetime edited_at
|
|
datetime checked_at
|
|
datetime estimated_at
|
|
datetime deleted_at
|
|
int(10) unsigned id
|
|
}
|
|
class photos_albums {
|
|
int(11) order
|
|
tinyint(1) hidden
|
|
tinyint(1) missing
|
|
datetime created_at
|
|
datetime updated_at
|
|
varbinary(64) photo_uid
|
|
varbinary(64) album_uid
|
|
}
|
|
class photos_keywords {
|
|
int(10) unsigned photo_id
|
|
int(10) unsigned keyword_id
|
|
}
|
|
class photos_labels {
|
|
varbinary(8) label_src
|
|
smallint(6) uncertainty
|
|
int(10) unsigned photo_id
|
|
int(10) unsigned label_id
|
|
}
|
|
class places {
|
|
varchar(400) place_label
|
|
varchar(100) place_district
|
|
varchar(100) place_city
|
|
varchar(100) place_state
|
|
varbinary(2) place_country
|
|
varchar(300) place_keywords
|
|
tinyint(1) place_favorite
|
|
int(11) photo_count
|
|
datetime created_at
|
|
datetime updated_at
|
|
varbinary(64) id
|
|
}
|
|
class subjects {
|
|
varbinary(8) subj_type
|
|
varbinary(8) subj_src
|
|
varbinary(160) subj_slug
|
|
varchar(160) subj_name
|
|
varchar(160) subj_alias
|
|
varchar(2048) subj_bio
|
|
varchar(1024) subj_notes
|
|
tinyint(1) subj_favorite
|
|
tinyint(1) subj_hidden
|
|
tinyint(1) subj_private
|
|
tinyint(1) subj_excluded
|
|
int(11) file_count
|
|
int(11) photo_count
|
|
varbinary(128) thumb
|
|
varbinary(8) thumb_src
|
|
mediumblob metadata_json
|
|
datetime created_at
|
|
datetime updated_at
|
|
datetime deleted_at
|
|
varbinary(64) subj_uid
|
|
}
|
|
class users {
|
|
int(11) address_id
|
|
varbinary(64) user_uid
|
|
varbinary(64) mother_uid
|
|
varbinary(64) father_uid
|
|
varbinary(64) global_uid
|
|
varchar(128) full_name
|
|
varchar(64) nick_name
|
|
varchar(64) maiden_name
|
|
varchar(64) artist_name
|
|
varchar(64) user_name
|
|
varchar(32) user_status
|
|
tinyint(1) user_disabled
|
|
longtext user_settings
|
|
varchar(255) primary_email
|
|
tinyint(1) email_confirmed
|
|
varchar(255) backup_email
|
|
varbinary(255) person_url
|
|
varchar(32) person_phone
|
|
varchar(32) person_status
|
|
varbinary(255) person_avatar
|
|
varchar(128) person_location
|
|
text person_bio
|
|
longtext person_accounts
|
|
varbinary(255) business_url
|
|
varchar(32) business_phone
|
|
varchar(255) business_email
|
|
varchar(128) company_name
|
|
varchar(128) department_name
|
|
varchar(64) job_title
|
|
int(11) birth_year
|
|
int(11) birth_month
|
|
int(11) birth_day
|
|
tinyint(1) terms_accepted
|
|
tinyint(1) is_artist
|
|
tinyint(1) is_subject
|
|
tinyint(1) role_admin
|
|
tinyint(1) role_guest
|
|
tinyint(1) role_child
|
|
tinyint(1) role_family
|
|
tinyint(1) role_friend
|
|
tinyint(1) webdav
|
|
varbinary(500) storage_path
|
|
tinyint(1) can_invite
|
|
varbinary(32) invite_token
|
|
varbinary(32) invited_by
|
|
varbinary(64) confirm_token
|
|
varbinary(64) reset_token
|
|
varbinary(128) api_token
|
|
varbinary(128) api_secret
|
|
int(11) login_attempts
|
|
datetime login_at
|
|
datetime created_at
|
|
datetime updated_at
|
|
datetime deleted_at
|
|
int(11) id
|
|
}
|
|
addresses --> cells : cell_id
|
|
categories --> labels : label_id
|
|
categories --> labels : category_id
|
|
cells --> places : place_id
|
|
details --> photos : photo_id
|
|
files --> photos : photo_id
|
|
files_share --> accounts : account_id
|
|
files_share --> files : file_id
|
|
files_sync --> accounts : account_id
|
|
files_sync --> files : file_id
|
|
markers --> faces : face_id
|
|
markers --> subjects : subject_uid
|
|
faces --> subjects : subject_uid
|
|
photos --> cameras : camera_id
|
|
photos --> cells : cell_id
|
|
photos --> lenses : lens_id
|
|
photos --> places : place_id
|
|
photos --> countries : photo_country
|
|
albums --> countries : album_country
|
|
albums --> folders : path
|
|
places --> countries : place_country
|
|
photos_keywords --> keywords : keyword_id
|
|
photos_keywords --> photos : photo_id
|
|
photos_labels --> labels : label_id
|
|
photos_labels --> photos : photo_id
|
|
photos_albums --> albums : album_uid
|
|
photos_albums --> photos : photo_uid
|
|
users --> addresses : address_id
|
|
users --> passwords : uid
|
|
links --> albums : uid
|
|
duplicates -- files |