54 lines
1.3 KiB
SQL
54 lines
1.3 KiB
SQL
CREATE TABLE IF NOT EXISTS [ServerSettings] (
|
|
[settingID] INTEGER PRIMARY KEY,
|
|
[name] TEXT NOT NULL,
|
|
[description] TEXT NOT NULL,
|
|
[value] TEXT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS [Users] (
|
|
[userID] INTEGER PRIMARY KEY,
|
|
[name] TEXT NOT NULL,
|
|
[email] TEXT,
|
|
[authType] TEXT NOT NULL,
|
|
[salt] TEXT,
|
|
[hashedPWSalt] TEXT
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS [MediaItems] (
|
|
[mediaID] INTEGER PRIMARY KEY,
|
|
[userID] INTEGER NOT NULL,
|
|
[EXIFDate] TEXT NOT NULL,
|
|
[uploadDate] TEXT NOT NULL,
|
|
[latitude] TEXT,
|
|
[longitude] TEXT,
|
|
[mediaType] INTEGER, /* 0 = Photo, 1 = Video */
|
|
[relPath] TEXT NOT NULL,
|
|
FOREIGN KEY (userID) REFERENCES Users(userID)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS [Tags] (
|
|
[tagID] INTEGER PRIMARY KEY,
|
|
[name] TEXT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS [MediaTags] (
|
|
[mediaID] INTEGER NOT NULL,
|
|
[tagID] INTEGER NOT NULL,
|
|
FOREIGN KEY (mediaID) REFERENCES MediaItems(mediaID)
|
|
FOREIGN KEY (tagID) REFERENCES Tags(tagID)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS [Albums] (
|
|
[albumID] INTEGER PRIMARY KEY,
|
|
[userID] INTEGER NOT NULL,
|
|
[name] TEXT NOT NULL,
|
|
FOREIGN KEY (userID) REFERENCES Users(userID)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS [MediaAlbums] (
|
|
[mediaID] INTEGER NOT NULL,
|
|
[albumID] INTEGER NOT NULL,
|
|
FOREIGN KEY (mediaID) REFERENCES MediaItems(mediaID)
|
|
FOREIGN KEY (albumID) REFERENCES Albums(albumID)
|
|
);
|