Basic sqlite Implementation
This commit is contained in:
BIN
db/schemas/imagini.db.bak
Normal file
BIN
db/schemas/imagini.db.bak
Normal file
Binary file not shown.
53
db/schemas/sqlite-create.sql
Normal file
53
db/schemas/sqlite-create.sql
Normal file
@@ -0,0 +1,53 @@
|
||||
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)
|
||||
);
|
||||
23
db/schemas/sqlite-testdata.sql
Normal file
23
db/schemas/sqlite-testdata.sql
Normal file
@@ -0,0 +1,23 @@
|
||||
INSERT INTO Users (name, email, authType, salt, hashedPWSalt) VALUES ("Evan", "evan@reichard.io", "Local", "1234", "1234");
|
||||
INSERT INTO Users (name, email, authType, salt, hashedPWSalt) VALUES ("James", "james@example.com", "Local", "1234", "1234");
|
||||
INSERT INTO Users (name, email, authType, salt, hashedPWSalt) VALUES ("Bill", "bill@example.com", "Local", "1234", "1234");
|
||||
|
||||
INSERT INTO MediaItems (userID, EXIFDate, uploadDate, latitude, longitude, mediaType, relPath) VALUES (1, "2012-03-29T10:05:45-06:00", "2012-03-29T10:05:45-06:00", "38.94141753254032", "-77.45238664604386", 0, "/image1.jpg");
|
||||
INSERT INTO MediaItems (userID, EXIFDate, uploadDate, latitude, longitude, mediaType, relPath) VALUES (2, "2013-03-29T10:05:45-06:00", "2013-03-29T10:05:45-06:00", "38.94141753254032", "-77.45238664604386", 0, "/image2.jpg");
|
||||
INSERT INTO MediaItems (userID, EXIFDate, uploadDate, latitude, longitude, mediaType, relPath) VALUES (3, "2014-03-29T10:05:45-06:00", "2014-03-29T10:05:45-06:00", "38.94141753254032", "-77.45238664604386", 0, "/image3.jpg");
|
||||
|
||||
INSERT INTO Tags (name) VALUES ("cars");
|
||||
INSERT INTO Tags (name) VALUES ("dogs");
|
||||
INSERT INTO Tags (name) VALUES ("places");
|
||||
|
||||
INSERT INTO Albums (userID, name) VALUES (1, "My Favorite Things");
|
||||
INSERT INTO Albums (userID, name) VALUES (2, "Trip 2020");
|
||||
INSERT INTO Albums (userID, name) VALUES (3, "Corona 2020");
|
||||
|
||||
INSERT INTO MediaTags (mediaID, tagID) VALUES (1, 3);
|
||||
INSERT INTO MediaTags (mediaID, tagID) VALUES (2, 2);
|
||||
INSERT INTO MediaTags (mediaID, tagID) VALUES (3, 1);
|
||||
|
||||
INSERT INTO MediaAlbums (mediaID, albumID) VALUES (1, 3);
|
||||
INSERT INTO MediaAlbums (mediaID, albumID) VALUES (2, 2);
|
||||
INSERT INTO MediaAlbums (mediaID, albumID) VALUES (3, 1);
|
||||
Reference in New Issue
Block a user