photoprism/internal/entity/schema/mariadb.mmd
Michael Mayer 6e74f16a77 Auth: Open album share links in the regular user interface #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-02 11:38:30 +02:00

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