-
Notifications
You must be signed in to change notification settings - Fork 4
/
plexschema.sql
2232 lines (1640 loc) · 60.5 KB
/
plexschema.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
-- Table: accounts
DROP TABLE IF EXISTS accounts;
CREATE TABLE accounts (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
name VARCHAR (255),
hashed_password VARCHAR (255),
salt VARCHAR (255),
created_at DATETIME,
updated_at DATETIME,
default_audio_language VARCHAR (255),
default_subtitle_language VARCHAR (255),
auto_select_subtitle BOOLEAN DEFAULT 't',
auto_select_audio BOOLEAN DEFAULT 't'
);
-- Table: blobs
DROP TABLE IF EXISTS blobs;
CREATE TABLE blobs (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
blob BLOB,
linked_type VARCHAR (255),
linked_id INTEGER,
linked_guid VARCHAR (255),
created_at DATETIME
);
-- Table: cloudsync_files
DROP TABLE IF EXISTS cloudsync_files;
CREATE TABLE cloudsync_files (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
device_identifier VARCHAR (255),
original_url VARCHAR (255),
provider VARCHAR (255),
new_key VARCHAR (255),
query_string VARCHAR (255),
extra_data VARCHAR (255)
);
-- Table: devices
DROP TABLE IF EXISTS devices;
CREATE TABLE devices (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
identifier VARCHAR (255),
name VARCHAR (255),
created_at DATETIME,
updated_at DATETIME,
platform STRING
);
-- Table: directories
DROP TABLE IF EXISTS directories;
CREATE TABLE directories (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
library_section_id INTEGER,
parent_directory_id INTEGER,
path VARCHAR (255),
created_at DATETIME,
updated_at DATETIME,
deleted_at DATETIME
);
-- Table: external_metadata_items
DROP TABLE IF EXISTS external_metadata_items;
CREATE TABLE external_metadata_items (
id INTEGER,
external_metadata_source_id INTEGER,
library_section_id INTEGER,
metadata_type INTEGER,
guid VARCHAR (255),
title VARCHAR (255),
parent_title VARCHAR (255),
year INTEGER,
added_at INTEGER,
updated_at INTEGER,
FOREIGN KEY (
external_metadata_source_id
)
REFERENCES external_metadata_sources (id) ON DELETE CASCADE
);
-- Table: external_metadata_sources
DROP TABLE IF EXISTS external_metadata_sources;
CREATE TABLE external_metadata_sources (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
uri VARCHAR (255),
source_title VARCHAR (255),
user_title VARCHAR (255),
online INTEGER
);
-- Table: fts4_metadata_titles
DROP TABLE IF EXISTS fts4_metadata_titles;
CREATE VIRTUAL TABLE fts4_metadata_titles USING fts4 (
content = 'metadata_items',
title,
title_sort,
original_title
);
-- Table: fts4_metadata_titles_docsize
DROP TABLE IF EXISTS fts4_metadata_titles_docsize;
CREATE TABLE fts4_metadata_titles_docsize (
docid INTEGER PRIMARY KEY,
size BLOB
);
-- Table: fts4_metadata_titles_segdir
DROP TABLE IF EXISTS fts4_metadata_titles_segdir;
CREATE TABLE fts4_metadata_titles_segdir (
level INTEGER,
idx INTEGER,
start_block INTEGER,
leaves_end_block INTEGER,
end_block INTEGER,
root BLOB,
PRIMARY KEY (
level,
idx
)
);
-- Table: fts4_metadata_titles_segments
DROP TABLE IF EXISTS fts4_metadata_titles_segments;
CREATE TABLE fts4_metadata_titles_segments (
blockid INTEGER PRIMARY KEY,
block BLOB
);
-- Table: fts4_metadata_titles_stat
DROP TABLE IF EXISTS fts4_metadata_titles_stat;
CREATE TABLE fts4_metadata_titles_stat (
id INTEGER PRIMARY KEY,
value BLOB
);
-- Table: fts4_tag_titles
DROP TABLE IF EXISTS fts4_tag_titles;
CREATE VIRTUAL TABLE fts4_tag_titles USING fts4 (
content = 'tags',
tag
);
-- Table: fts4_tag_titles_docsize
DROP TABLE IF EXISTS fts4_tag_titles_docsize;
CREATE TABLE fts4_tag_titles_docsize (
docid INTEGER PRIMARY KEY,
size BLOB
);
-- Table: fts4_tag_titles_segdir
DROP TABLE IF EXISTS fts4_tag_titles_segdir;
CREATE TABLE fts4_tag_titles_segdir (
level INTEGER,
idx INTEGER,
start_block INTEGER,
leaves_end_block INTEGER,
end_block INTEGER,
root BLOB,
PRIMARY KEY (
level,
idx
)
);
-- Table: fts4_tag_titles_segments
DROP TABLE IF EXISTS fts4_tag_titles_segments;
CREATE TABLE fts4_tag_titles_segments (
blockid INTEGER PRIMARY KEY,
block BLOB
);
-- Table: fts4_tag_titles_stat
DROP TABLE IF EXISTS fts4_tag_titles_stat;
CREATE TABLE fts4_tag_titles_stat (
id INTEGER PRIMARY KEY,
value BLOB
);
-- Table: library_section_permissions
DROP TABLE IF EXISTS library_section_permissions;
CREATE TABLE library_section_permissions (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
library_section_id INTEGER,
account_id INTEGER,
permission INTEGER
);
-- Table: library_sections
DROP TABLE IF EXISTS library_sections;
CREATE TABLE library_sections (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
library_id INTEGER,
name VARCHAR (255),
name_sort VARCHAR (255) COLLATE NOCASE,
section_type INTEGER,
language VARCHAR (255),
agent VARCHAR (255),
scanner VARCHAR (255),
user_thumb_url VARCHAR (255),
user_art_url VARCHAR (255),
user_theme_music_url VARCHAR (255),
public BOOLEAN,
created_at DATETIME,
updated_at DATETIME,
scanned_at DATETIME,
display_secondary_level BOOLEAN,
user_fields VARCHAR (255),
query_xml TEXT,
query_type INTEGER,
uuid VARCHAR (255),
changed_at INTEGER (8) DEFAULT 0
);
-- Table: library_timeline_entries
DROP TABLE IF EXISTS library_timeline_entries;
CREATE TABLE library_timeline_entries (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
library_section_id INTEGER,
metadata_item_id INTEGER,
state INTEGER,
updated_at DATETIME
);
-- Table: locatables
DROP TABLE IF EXISTS locatables;
CREATE TABLE locatables (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
location_id INTEGER NOT NULL,
locatable_id INTEGER NOT NULL,
locatable_type VARCHAR (255) NOT NULL,
created_at DATETIME,
updated_at DATETIME,
extra_data VARCHAR (255),
geocoding_version INTEGER,
UNIQUE (
location_id,
locatable_id,
locatable_type
)
);
-- Table: location_places
DROP TABLE IF EXISTS location_places;
CREATE TABLE location_places (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
location_id INTEGER,
guid VARCHAR (255) NOT NULL,
UNIQUE (
location_id,
guid
)
);
-- Table: locations
DROP TABLE IF EXISTS locations;
CREATE VIRTUAL TABLE locations USING rtree (
'id' integer,
'lat_min' float,
'lat_max' float,
'lon_min' float,
'lon_max' float
);
-- Table: locations_node
DROP TABLE IF EXISTS locations_node;
CREATE TABLE locations_node (
nodeno INTEGER PRIMARY KEY,
data BLOB
);
-- Table: locations_parent
DROP TABLE IF EXISTS locations_parent;
CREATE TABLE locations_parent (
nodeno INTEGER PRIMARY KEY,
parentnode INTEGER
);
-- Table: locations_rowid
DROP TABLE IF EXISTS locations_rowid;
CREATE TABLE locations_rowid (
rowid INTEGER PRIMARY KEY,
nodeno INTEGER
);
-- Table: media_grabs
DROP TABLE IF EXISTS media_grabs;
CREATE TABLE media_grabs (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
uuid VARCHAR (255),
status INTEGER,
error INTEGER,
metadata_item_id INTEGER,
media_subscription_id INTEGER,
extra_data VARCHAR (255),
created_at DATETIME,
updated_at DATETIME
);
-- Table: media_item_settings
DROP TABLE IF EXISTS media_item_settings;
CREATE TABLE media_item_settings (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
account_id INTEGER,
media_item_id INTEGER,
settings VARCHAR (255),
created_at DATETIME,
updated_at DATETIME
);
-- Table: media_items
DROP TABLE IF EXISTS media_items;
CREATE TABLE media_items (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
library_section_id INTEGER,
section_location_id INTEGER,
metadata_item_id INTEGER,
type_id INTEGER,
width INTEGER,
height INTEGER,
size INTEGER (8),
duration INTEGER,
bitrate INTEGER,
container VARCHAR (255),
video_codec VARCHAR (255),
audio_codec VARCHAR (255),
display_aspect_ratio FLOAT,
frames_per_second FLOAT,
audio_channels INTEGER,
interlaced BOOLEAN,
source VARCHAR (255),
hints VARCHAR (255),
display_offset INTEGER,
settings VARCHAR (255),
created_at DATETIME,
updated_at DATETIME,
optimized_for_streaming BOOLEAN,
deleted_at DATETIME,
media_analysis_version INTEGER DEFAULT 0,
sample_aspect_ratio FLOAT,
extra_data VARCHAR (255),
proxy_type INTEGER,
channel_id INTEGER,
begins_at DATETIME,
ends_at DATETIME
);
-- Table: media_metadata_mappings
DROP TABLE IF EXISTS media_metadata_mappings;
CREATE TABLE media_metadata_mappings (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
media_guid VARCHAR (255),
metadata_guid VARCHAR (255),
created_at DATETIME,
updated_at DATETIME
);
-- Table: media_part_settings
DROP TABLE IF EXISTS media_part_settings;
CREATE TABLE media_part_settings (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
account_id INTEGER,
media_part_id INTEGER,
selected_audio_stream_id INTEGER,
selected_subtitle_stream_id INTEGER,
settings VARCHAR (255),
created_at DATETIME,
updated_at DATETIME,
changed_at INTEGER (8) DEFAULT 0
);
-- Table: media_parts
DROP TABLE IF EXISTS media_parts;
CREATE TABLE media_parts (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
media_item_id INTEGER,
directory_id INTEGER,
hash VARCHAR (255),
open_subtitle_hash VARCHAR (255),
file VARCHAR (255),
[index] INTEGER,
size INTEGER (8),
duration INTEGER,
created_at DATETIME,
updated_at DATETIME,
deleted_at DATETIME,
extra_data VARCHAR (255)
);
-- Table: media_provider_resources
DROP TABLE IF EXISTS media_provider_resources;
CREATE TABLE media_provider_resources (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
parent_id INTEGER,
type INTEGER,
status INTEGER,
state INTEGER,
identifier VARCHAR (255),
protocol VARCHAR (255),
uri VARCHAR (255),
uuid VARCHAR (255),
extra_data VARCHAR (255),
last_seen_at DATETIME,
created_at DATETIME,
updated_at DATETIME,
data BLOB
);
-- Table: media_stream_settings
DROP TABLE IF EXISTS media_stream_settings;
CREATE TABLE media_stream_settings (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
account_id INTEGER,
media_stream_id INTEGER,
extra_data VARCHAR (255),
created_at DATETIME,
updated_at DATETIME,
UNIQUE (
media_stream_id,
account_id
)
);
-- Table: media_streams
DROP TABLE IF EXISTS media_streams;
CREATE TABLE media_streams (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
stream_type_id INTEGER,
media_item_id INTEGER,
url VARCHAR (255),
codec VARCHAR (255),
language VARCHAR (255),
created_at DATETIME,
updated_at DATETIME,
[index] INTEGER,
media_part_id INTEGER,
channels INTEGER,
bitrate INTEGER,
url_index INTEGER,
[default] BOOLEAN DEFAULT 0,
forced BOOLEAN DEFAULT 0,
extra_data VARCHAR (255)
);
-- Table: media_subscriptions
DROP TABLE IF EXISTS media_subscriptions;
CREATE TABLE media_subscriptions (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
[order] FLOAT,
metadata_type INTEGER,
target_metadata_item_id INTEGER,
target_library_section_id INTEGER,
target_section_location_id INTEGER,
extra_data VARCHAR (255),
created_at DATETIME,
updated_at DATETIME
);
-- Table: metadata_item_accounts
DROP TABLE IF EXISTS metadata_item_accounts;
CREATE TABLE metadata_item_accounts (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
account_id INTEGER,
metadata_item_id INTEGER
);
-- Table: metadata_item_clusterings
DROP TABLE IF EXISTS metadata_item_clusterings;
CREATE TABLE metadata_item_clusterings (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
metadata_item_id INTEGER,
metadata_item_cluster_id INTEGER,
[index] INTEGER,
version INTEGER,
FOREIGN KEY (
metadata_item_cluster_id
)
REFERENCES metadata_item_clusters (id) ON DELETE CASCADE,
FOREIGN KEY (
metadata_item_id
)
REFERENCES metadata_items (id) ON DELETE CASCADE
);
-- Table: metadata_item_clusters
DROP TABLE IF EXISTS metadata_item_clusters;
CREATE TABLE metadata_item_clusters (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
zoom_level INTEGER,
library_section_id INTEGER,
title VARCHAR (255),
count INTEGER,
starts_at DATETIME,
ends_at DATETIME,
extra_data VARCHAR (255)
);
-- Table: metadata_item_settings
DROP TABLE IF EXISTS metadata_item_settings;
CREATE TABLE metadata_item_settings (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
account_id INTEGER,
guid VARCHAR (255),
rating FLOAT,
view_offset INTEGER,
view_count INTEGER,
last_viewed_at DATETIME,
created_at DATETIME,
updated_at DATETIME,
skip_count INTEGER DEFAULT 0,
last_skipped_at DATETIME DEFAULT NULL,
changed_at INTEGER (8) DEFAULT 0,
extra_data VARCHAR (255)
);
-- Table: metadata_item_views
DROP TABLE IF EXISTS metadata_item_views;
CREATE TABLE metadata_item_views (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
account_id INTEGER,
guid VARCHAR (255),
metadata_type INTEGER,
library_section_id INTEGER,
grandparent_title VARCHAR (255),
parent_index INTEGER,
parent_title VARCHAR (255),
[index] INTEGER,
title VARCHAR (255),
thumb_url VARCHAR (255),
viewed_at DATETIME,
grandparent_guid VARCHAR (255),
originally_available_at DATETIME,
device_id INTEGER
);
-- Table: metadata_items
DROP TABLE IF EXISTS metadata_items;
CREATE TABLE metadata_items (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
library_section_id INTEGER,
parent_id INTEGER,
metadata_type INTEGER,
guid VARCHAR (255),
media_item_count INTEGER,
title VARCHAR (255),
title_sort VARCHAR (255) COLLATE NOCASE,
original_title VARCHAR (255),
studio VARCHAR (255),
rating FLOAT,
rating_count INTEGER,
tagline VARCHAR (255),
summary TEXT,
trivia TEXT,
quotes TEXT,
content_rating VARCHAR (255),
content_rating_age INTEGER,
[index] INTEGER,
absolute_index INTEGER,
duration INTEGER,
user_thumb_url VARCHAR (255),
user_art_url VARCHAR (255),
user_banner_url VARCHAR (255),
user_music_url VARCHAR (255),
user_fields VARCHAR (255),
tags_genre VARCHAR (255),
tags_collection VARCHAR (255),
tags_director VARCHAR (255),
tags_writer VARCHAR (255),
tags_star VARCHAR (255),
originally_available_at DATETIME,
available_at DATETIME,
expires_at DATETIME,
refreshed_at DATETIME,
year INTEGER,
added_at DATETIME,
created_at DATETIME,
updated_at DATETIME,
deleted_at DATETIME,
tags_country VARCHAR (255),
extra_data VARCHAR (255),
hash VARCHAR (255),
audience_rating FLOAT,
changed_at INTEGER (8) DEFAULT 0,
resources_changed_at INTEGER (8) DEFAULT 0,
remote INTEGER
);
-- Table: metadata_relations
DROP TABLE IF EXISTS metadata_relations;
CREATE TABLE metadata_relations (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
metadata_item_id INTEGER,
related_metadata_item_id INTEGER,
relation_type INTEGER,
created_at DATETIME,
updated_at DATETIME
);
-- Table: metadata_subscription_desired_items
DROP TABLE IF EXISTS metadata_subscription_desired_items;
CREATE TABLE metadata_subscription_desired_items (
sub_id INTEGER,
remote_id VARCHAR (255)
);
-- Table: play_queue_generators
DROP TABLE IF EXISTS play_queue_generators;
CREATE TABLE play_queue_generators (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
playlist_id INTEGER,
metadata_item_id INTEGER,
uri VARCHAR (255),
[limit] INTEGER,
continuous BOOLEAN,
[order] FLOAT,
created_at DATETIME NOT NULL,
updated_at DATETIME NOT NULL,
changed_at INTEGER (8) DEFAULT 0,
[recursive] BOOLEAN,
type INTEGER,
extra_data VARCHAR (255)
);
-- Table: play_queue_items
DROP TABLE IF EXISTS play_queue_items;
CREATE TABLE play_queue_items (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
play_queue_id INTEGER,
metadata_item_id INTEGER,
[order] FLOAT,
up_next BOOLEAN,
play_queue_generator_id INTEGER
);
-- Table: play_queues
DROP TABLE IF EXISTS play_queues;
CREATE TABLE play_queues (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
client_identifier VARCHAR (255),
account_id INTEGER,
playlist_id INTEGER,
sync_item_id INTEGER,
play_queue_generator_id INTEGER,
generator_start_index INTEGER,
generator_end_index INTEGER,
generator_items_count INTEGER,
generator_ids BLOB,
seed INTEGER,
current_play_queue_item_id INTEGER,
last_added_play_queue_item_id INTEGER,
version INTEGER,
created_at DATETIME,
updated_at DATETIME,
metadata_type INTEGER,
total_items_count INTEGER,
generator_generator_ids BLOB
);
-- Table: plugin_permissions
DROP TABLE IF EXISTS plugin_permissions;
CREATE TABLE plugin_permissions (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
plugin_id INTEGER,
account_id INTEGER,
permission INTEGER
);
-- Table: plugin_prefixes
DROP TABLE IF EXISTS plugin_prefixes;
CREATE TABLE plugin_prefixes (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
plugin_id INTEGER,
name VARCHAR (255),
prefix VARCHAR (255),
art_url VARCHAR (255),
thumb_url VARCHAR (255),
titlebar_url VARCHAR (255),
share BOOLEAN,
has_store_services BOOLEAN,
prefs BOOLEAN
);
-- Table: plugins
DROP TABLE IF EXISTS plugins;
CREATE TABLE plugins (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
identifier VARCHAR (255),
framework_version INTEGER,
access_count INTEGER,
installed_at DATETIME,
accessed_at DATETIME,
modified_at DATETIME
);
-- Table: preferences
DROP TABLE IF EXISTS preferences;
CREATE TABLE preferences (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
name VARCHAR (255),
value VARCHAR (255)
);
-- Table: schema_migrations
DROP TABLE IF EXISTS schema_migrations;
CREATE TABLE schema_migrations (
version VARCHAR (255) NOT NULL,
rollback_sql TEXT DEFAULT NULL,
optimize_on_rollback BOOLEAN DEFAULT NULL
);
-- Table: section_locations
DROP TABLE IF EXISTS section_locations;
CREATE TABLE section_locations (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
library_section_id INTEGER,
root_path VARCHAR (255),
available BOOLEAN DEFAULT 't',
scanned_at DATETIME,
created_at DATETIME,
updated_at DATETIME
);
-- Table: spellfix_metadata_titles
DROP TABLE IF EXISTS spellfix_metadata_titles;
CREATE VIRTUAL TABLE spellfix_metadata_titles USING spellfix1;
-- Table: spellfix_metadata_titles_vocab
DROP TABLE IF EXISTS spellfix_metadata_titles_vocab;
CREATE TABLE spellfix_metadata_titles_vocab (
id INTEGER PRIMARY KEY,
rank INT,
langid INT,
word TEXT,
k1 TEXT,
k2 TEXT
);
-- Table: spellfix_tag_titles
DROP TABLE IF EXISTS spellfix_tag_titles;
CREATE VIRTUAL TABLE spellfix_tag_titles USING spellfix1;
-- Table: spellfix_tag_titles_vocab
DROP TABLE IF EXISTS spellfix_tag_titles_vocab;
CREATE TABLE spellfix_tag_titles_vocab (
id INTEGER PRIMARY KEY,
rank INT,
langid INT,
word TEXT,
k1 TEXT,
k2 TEXT
);
-- Table: statistics_bandwidth
DROP TABLE IF EXISTS statistics_bandwidth;
CREATE TABLE statistics_bandwidth (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
account_id INTEGER,
device_id INTEGER,
timespan INTEGER,
at DATETIME,
lan BOOLEAN,
bytes INTEGER (8)
);
-- Table: statistics_media
DROP TABLE IF EXISTS statistics_media;
CREATE TABLE statistics_media (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
account_id INTEGER,
device_id INTEGER,
timespan INTEGER,
at DATETIME,
metadata_type INTEGER,
count INTEGER,
duration INTEGER
);
-- Table: statistics_resources
DROP TABLE IF EXISTS statistics_resources;
CREATE TABLE statistics_resources (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
timespan INTEGER,
at DATETIME,
host_cpu_utilization FLOAT,
process_cpu_utilization FLOAT,
host_memory_utilization FLOAT,
process_memory_utilization FLOAT
);
-- Table: stream_types
DROP TABLE IF EXISTS stream_types;
CREATE TABLE stream_types (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
name VARCHAR (255)
);
-- Table: sync_schema_versions
DROP TABLE IF EXISTS sync_schema_versions;
CREATE TABLE sync_schema_versions (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
version INTEGER,
changed_at INTEGER (8)
);
-- Table: synced_ancestor_items
DROP TABLE IF EXISTS synced_ancestor_items;
CREATE TABLE synced_ancestor_items (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
sync_list_id INTEGER (8),
metadata_item_id INTEGER,
changed_at INTEGER (8),
reference_count INTEGER,
first_packaged_at INTEGER (8),
parent_id INTEGER,
state INTEGER
);
-- Table: synced_library_sections
DROP TABLE IF EXISTS synced_library_sections;
CREATE TABLE synced_library_sections (
id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
sync_list_id INTEGER (8),
library_section_id INTEGER,
changed_at INTEGER (8),
reference_count INTEGER,
first_packaged_at INTEGER (8),
state INTEGER
);
-- Table: synced_metadata_items