mirror of
https://github.com/idanoo/GoScrobble
synced 2025-07-01 21:52:19 +00:00
Merge remote-tracking branch 'origin/postgres'
This commit is contained in:
commit
ba3e35cb86
47 changed files with 473 additions and 360 deletions
|
@ -1 +1 @@
|
|||
ALTER TABLE `tracks` DROP COLUMN `length`;
|
||||
ALTER TABLE tracks DROP COLUMN length;
|
|
@ -1 +1 @@
|
|||
ALTER TABLE `tracks` ADD COLUMN `length` INT NOT NULL DEFAULT 0;
|
||||
ALTER TABLE tracks ADD COLUMN length INT NOT NULL DEFAULT 0;
|
|
@ -1 +1 @@
|
|||
DROP TABLE IF EXISTS `genres`;
|
||||
DROP TABLE IF EXISTS genres;
|
|
@ -1,5 +1,6 @@
|
|||
CREATE TABLE IF NOT EXISTS `genres` (
|
||||
`uuid` BINARY(16) PRIMARY KEY,
|
||||
`name` VARCHAR(255) NOT NULL,
|
||||
KEY `nameLookup` (`name`)
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
CREATE TABLE IF NOT EXISTS genres (
|
||||
uuid uuid PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX genresNameLookup ON genres (name)
|
|
@ -1 +1 @@
|
|||
DROP TABLE IF EXISTS `refresh_tokens`;
|
||||
DROP TABLE IF EXISTS refresh_tokens;
|
|
@ -1,10 +1,11 @@
|
|||
CREATE TABLE IF NOT EXISTS `refresh_tokens` (
|
||||
`uuid` BINARY(16) PRIMARY KEY,
|
||||
`user` BINARY(16),
|
||||
`token` VARCHAR(64) NOT NULL,
|
||||
`expiry` DATETIME NOT NULL DEFAULT NOW(),
|
||||
KEY `userLookup` (`user`),
|
||||
KEY `tokenLookup` (`token`),
|
||||
KEY `expiryLookup` (`expiry`),
|
||||
FOREIGN KEY (user) REFERENCES users(uuid)
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
CREATE TABLE IF NOT EXISTS refresh_tokens (
|
||||
uuid uuid PRIMARY KEY,
|
||||
"user" uuid,
|
||||
token VARCHAR(64) NOT NULL,
|
||||
expiry timestamptz NOT NULL DEFAULT NOW(),
|
||||
FOREIGN KEY ("user") REFERENCES users(uuid)
|
||||
);
|
||||
|
||||
CREATE INDEX refreshtokensUserLookup ON refresh_tokens ("user");
|
||||
CREATE INDEX refreshtokensTokenLookup ON refresh_tokens (token);
|
||||
CREATE INDEX refreshtokensExpiryLookup ON refresh_tokens (expiry);
|
||||
|
|
|
@ -1 +1 @@
|
|||
ALTER TABLE `users` DROP COLUMN `mod`;
|
||||
ALTER TABLE users DROP COLUMN mod;
|
|
@ -1 +1 @@
|
|||
ALTER TABLE `users` ADD COLUMN `mod` TINYINT(1) NOT NULL DEFAULT 0 AFTER `admin`;
|
||||
ALTER TABLE users ADD COLUMN mod BOOL NOT NULL DEFAULT FALSE;
|
|
@ -1 +1 @@
|
|||
DROP TABLE IF EXISTS `config`;
|
||||
DROP TABLE IF EXISTS config;
|
|
@ -1,5 +1,5 @@
|
|||
CREATE TABLE IF NOT EXISTS `config` (
|
||||
`key` VARCHAR(255) NOT NULL,
|
||||
`value` VARCHAR(255) NULL DEFAULT NULL,
|
||||
PRIMARY KEY(`key`)
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
CREATE TABLE IF NOT EXISTS config (
|
||||
key VARCHAR(255) NOT NULL,
|
||||
value VARCHAR(255) NULL,
|
||||
PRIMARY KEY(key)
|
||||
);
|
|
@ -1 +1 @@
|
|||
DROP TABLE IF EXISTS `users`;
|
||||
DROP TABLE IF EXISTS users;
|
|
@ -1,17 +1,18 @@
|
|||
CREATE TABLE IF NOT EXISTS `users` (
|
||||
`uuid` BINARY(16) PRIMARY KEY,
|
||||
`created_at` DATETIME NOT NULL DEFAULT NOW(),
|
||||
`created_ip` VARBINARY(16) NULL DEFAULT NULL,
|
||||
`modified_at` DATETIME NOT NULL DEFAULT NOW(),
|
||||
`modified_ip` VARBINARY(16) NULL DEFAULT NULL,
|
||||
`username` VARCHAR(64) NOT NULL,
|
||||
`password` VARCHAR(60) NOT NULL,
|
||||
`email` VARCHAR(255) NULL DEFAULT NULL,
|
||||
`verified` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`active` TINYINT(1) NOT NULL DEFAULT 1,
|
||||
`admin` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`private` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`timezone` VARCHAR(100) NOT NULL DEFAULT 'Pacific/Auckland',
|
||||
KEY `usernameLookup` (`username`, `active`),
|
||||
KEY `emailLookup` (`email`, `active`)
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
uuid uuid PRIMARY KEY,
|
||||
created_at timestamptz NOT NULL DEFAULT NOW(),
|
||||
created_ip INET NULL,
|
||||
modified_at timestamptz NOT NULL DEFAULT NOW(),
|
||||
modified_ip INET NULL,
|
||||
username VARCHAR(64) NOT NULL,
|
||||
password VARCHAR(60) NOT NULL,
|
||||
email VARCHAR(255) NULL,
|
||||
verified BOOL NOT NULL DEFAULT FALSE,
|
||||
active BOOL NOT NULL DEFAULT TRUE,
|
||||
admin BOOL NOT NULL DEFAULT FALSE,
|
||||
private BOOL NOT NULL DEFAULT FALSE,
|
||||
timezone VARCHAR(100) NOT NULL DEFAULT 'Pacific/Auckland'
|
||||
);
|
||||
|
||||
CREATE INDEX usersUsernameLookup ON users (username, active);
|
||||
CREATE INDEX usersEmailLookup ON users (email, active);
|
|
@ -1,8 +1,8 @@
|
|||
START TRANSACTION;
|
||||
DROP TABLE IF EXISTS `artists`;
|
||||
DROP TABLE IF EXISTS `albums`;
|
||||
DROP TABLE IF EXISTS `tracks`;
|
||||
DROP TABLE IF EXISTS `track_artist`;
|
||||
DROP TABLE IF EXISTS `scrobble_track`;
|
||||
DROP TABLE IF EXISTS artists;
|
||||
DROP TABLE IF EXISTS albums;
|
||||
DROP TABLE IF EXISTS tracks;
|
||||
DROP TABLE IF EXISTS track_artist;
|
||||
DROP TABLE IF EXISTS scrobble_track;
|
||||
|
||||
COMMIT;
|
|
@ -1,69 +1,71 @@
|
|||
START TRANSACTION;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `links` (
|
||||
`scrobble` BINARY(16) NOT NULL,
|
||||
`track` BINARY(16) NOT NULL,
|
||||
PRIMARY KEY (`scrobble`, `track`),
|
||||
KEY `trackLookup` (`track`)
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
CREATE TABLE IF NOT EXISTS links (
|
||||
scrobble uuid NOT NULL,
|
||||
track uuid NOT NULL,
|
||||
PRIMARY KEY (scrobble, track)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `artists` (
|
||||
`uuid` BINARY(16) PRIMARY KEY,
|
||||
`name` VARCHAR(255) NOT NULL,
|
||||
`desc` TEXT,
|
||||
`img` VARCHAR(255) DEFAULT NULL
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
CREATE INDEX trackLookup ON links (track);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `albums` (
|
||||
`uuid` BINARY(16) PRIMARY KEY,
|
||||
`name` VARCHAR(255) NOT NULL,
|
||||
`desc` TEXT,
|
||||
`img` VARCHAR(255) DEFAULT NULL
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
CREATE TABLE IF NOT EXISTS artists (
|
||||
uuid uuid PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
"desc" TEXT,
|
||||
img VARCHAR(255)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tracks` (
|
||||
`uuid` BINARY(16) PRIMARY KEY,
|
||||
`name` VARCHAR(255) NOT NULL,
|
||||
`desc` TEXT,
|
||||
`img` VARCHAR(255) DEFAULT NULL
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
CREATE TABLE IF NOT EXISTS albums (
|
||||
uuid uuid PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
"desc" TEXT,
|
||||
img VARCHAR(255)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `scrobbles` (
|
||||
`uuid` BINARY(16) PRIMARY KEY,
|
||||
`created_at` DATETIME NOT NULL,
|
||||
`created_ip` VARBINARY(16) NULL DEFAULT NULL,
|
||||
`user` BINARY(16) NOT NULL,
|
||||
`track` BINARY(16) NOT NULL,
|
||||
`source` VARCHAR(100) NOT NULL DEFAULT '',
|
||||
KEY `userLookup` (`user`),
|
||||
KEY `dateLookup` (`created_at`),
|
||||
KEY `sourceLookup` (`source`),
|
||||
CREATE TABLE IF NOT EXISTS tracks (
|
||||
uuid uuid PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
"desc" TEXT,
|
||||
img VARCHAR(255)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS scrobbles (
|
||||
uuid uuid PRIMARY KEY,
|
||||
created_at timestamptz NOT NULL,
|
||||
created_ip INET NULL,
|
||||
"user" uuid NOT NULL,
|
||||
track uuid NOT NULL,
|
||||
source VARCHAR(100) NOT NULL DEFAULT '',
|
||||
FOREIGN KEY (track) REFERENCES tracks(uuid),
|
||||
FOREIGN KEY (user) REFERENCES users(uuid)
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
FOREIGN KEY ("user") REFERENCES users(uuid)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `album_artist` (
|
||||
`album` BINARY(16) NOT NULL,
|
||||
`artist` BINARY(16) NOT NULL,
|
||||
PRIMARY KEY (`album`, `artist`),
|
||||
CREATE INDEX scrobblesUserLookup ON scrobbles ("user");
|
||||
CREATE INDEX scrobblesDateLookup ON scrobbles (created_at);
|
||||
CREATE INDEX scrobblesSourceLookup ON scrobbles (source);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS album_artist (
|
||||
album uuid NOT NULL,
|
||||
artist uuid NOT NULL,
|
||||
PRIMARY KEY (album, artist),
|
||||
FOREIGN KEY (album) REFERENCES albums(uuid),
|
||||
FOREIGN KEY (artist) REFERENCES artists(uuid)
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `track_album` (
|
||||
`track` BINARY(16) NOT NULL,
|
||||
`album` BINARY(16) NOT NULL,
|
||||
PRIMARY KEY (`track`, `album`),
|
||||
CREATE TABLE IF NOT EXISTS track_album (
|
||||
track uuid NOT NULL,
|
||||
album uuid NOT NULL,
|
||||
PRIMARY KEY (track, album),
|
||||
FOREIGN KEY (track) REFERENCES tracks(uuid),
|
||||
FOREIGN KEY (album) REFERENCES albums(uuid)
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `track_artist` (
|
||||
`track` BINARY(16) NOT NULL,
|
||||
`artist` BINARY(16) NOT NULL,
|
||||
PRIMARY KEY (`track`, `artist`),
|
||||
CREATE TABLE IF NOT EXISTS track_artist (
|
||||
track uuid NOT NULL,
|
||||
artist uuid NOT NULL,
|
||||
PRIMARY KEY (track, artist),
|
||||
FOREIGN KEY (track) REFERENCES tracks(uuid),
|
||||
FOREIGN KEY (artist) REFERENCES artists(uuid)
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE albums DROP COLUMN `mbid`;
|
||||
ALTER TABLE artists DROP COLUMN `mbid`;
|
||||
ALTER TABLE tracks DROP COLUMN `mbid`;
|
||||
ALTER TABLE albums DROP COLUMN mbid;
|
||||
ALTER TABLE artists DROP COLUMN mbid;
|
||||
ALTER TABLE tracks DROP COLUMN mbid;
|
||||
|
||||
COMMIT;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE albums ADD COLUMN `mbid` VARCHAR(36) DEFAULT '';
|
||||
ALTER TABLE artists ADD COLUMN `mbid` VARCHAR(36) DEFAULT '';
|
||||
ALTER TABLE tracks ADD COLUMN `mbid` VARCHAR(36) DEFAULT '';
|
||||
ALTER TABLE albums ADD COLUMN mbid VARCHAR(36) DEFAULT '';
|
||||
ALTER TABLE artists ADD COLUMN mbid VARCHAR(36) DEFAULT '';
|
||||
ALTER TABLE tracks ADD COLUMN mbid VARCHAR(36) DEFAULT '';
|
||||
|
||||
COMMIT;
|
||||
|
|
|
@ -1 +1 @@
|
|||
ALTER TABLE `users` DROP COLUMN `token`;
|
||||
ALTER TABLE users DROP COLUMN token;
|
|
@ -1 +1 @@
|
|||
ALTER TABLE `users` ADD COLUMN `token` VARCHAR(32) NOT NULL;
|
||||
ALTER TABLE users ADD COLUMN token VARCHAR(32) NOT NULL;
|
|
@ -1 +1 @@
|
|||
TRUNCATE `config`;
|
||||
TRUNCATE config;
|
|
@ -1,5 +1,5 @@
|
|||
INSERT INTO
|
||||
`config`(`key`, `value`)
|
||||
config(key, value)
|
||||
VALUES
|
||||
('SPOTIFY_API_ID', ''),
|
||||
('SPOTIFY_API_SECRET', ''),
|
||||
|
|
|
@ -1 +1 @@
|
|||
DROP TABLE IF EXISTS `resettoken`;
|
||||
DROP TABLE IF EXISTS resettoken;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
CREATE TABLE IF NOT EXISTS `resettoken` (
|
||||
`user` BINARY(16) PRIMARY KEY,
|
||||
`token` VARCHAR(64) NOT NULL,
|
||||
`expiry` DATETIME NOT NULL,
|
||||
KEY `tokenLookup` (`token`)
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
CREATE TABLE IF NOT EXISTS resettoken (
|
||||
"user" uuid PRIMARY KEY,
|
||||
token VARCHAR(64) NOT NULL,
|
||||
expiry timestamptz NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX resettokenTokenLookup ON resettoken (token)
|
||||
|
|
|
@ -1 +1 @@
|
|||
DROP TABLE IF EXISTS `oauth_tokens`;
|
||||
DROP TABLE IF EXISTS oauth_tokens;
|
|
@ -1,11 +1,11 @@
|
|||
CREATE TABLE IF NOT EXISTS `oauth_tokens` (
|
||||
`user` BINARY(16),
|
||||
`service` VARCHAR(64) NOT NULL,
|
||||
`access_token` VARCHAR(255) NULL DEFAULT '',
|
||||
`refresh_token` VARCHAR(255) NULL DEFAULT '',
|
||||
`url` VARCHAR(255) NULL DEFAULT '',
|
||||
`expiry` DATETIME NOT NULL,
|
||||
`username` VARCHAR(100) NULL DEFAULT '',
|
||||
`last_synced` DATETIME NOT NULL DEFAULT NOW(),
|
||||
PRIMARY KEY `userService` (`user`, `service`)
|
||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
|
||||
CREATE TABLE IF NOT EXISTS oauth_tokens (
|
||||
"user" uuid,
|
||||
service VARCHAR(64) NOT NULL,
|
||||
access_token VARCHAR(255) NULL DEFAULT '',
|
||||
refresh_token VARCHAR(255) NULL DEFAULT '',
|
||||
url VARCHAR(255) NULL DEFAULT '',
|
||||
expiry timestamptz NOT NULL,
|
||||
username VARCHAR(100) NULL DEFAULT '',
|
||||
last_synced timestamptz NOT NULL DEFAULT NOW(),
|
||||
PRIMARY KEY ("user", "service")
|
||||
);
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE `tracks` DROP COLUMN `spotify_id`;
|
||||
ALTER TABLE `users` DROP COLUMN `spotify_id`;
|
||||
ALTER TABLE `albums` DROP COLUMN `spotify_id`;
|
||||
ALTER TABLE `artists` DROP COLUMN `spotify_id`;
|
||||
ALTER TABLE tracks DROP COLUMN spotify_id;
|
||||
ALTER TABLE albums DROP COLUMN spotify_id;
|
||||
ALTER TABLE artists DROP COLUMN spotify_id;
|
||||
|
||||
COMMIT;
|
|
@ -1,13 +1,11 @@
|
|||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE `users` ADD COLUMN `spotify_id` VARCHAR(255) NOT NULL DEFAULT '';
|
||||
ALTER TABLE `albums` ADD COLUMN `spotify_id` VARCHAR(255) NOT NULL DEFAULT '';
|
||||
ALTER TABLE `artists` ADD COLUMN `spotify_id` VARCHAR(255) NOT NULL DEFAULT '';
|
||||
ALTER TABLE `tracks` ADD COLUMN `spotify_id` VARCHAR(255) NOT NULL DEFAULT '';
|
||||
ALTER TABLE albums ADD COLUMN spotify_id VARCHAR(255) NOT NULL DEFAULT '';
|
||||
ALTER TABLE artists ADD COLUMN spotify_id VARCHAR(255) NOT NULL DEFAULT '';
|
||||
ALTER TABLE tracks ADD COLUMN spotify_id VARCHAR(255) NOT NULL DEFAULT '';
|
||||
|
||||
ALTER TABLE `users` ADD INDEX `spotifyLookup` (`spotify_id`);
|
||||
ALTER TABLE `albums` ADD INDEX `spotifyLookup` (`spotify_id`);
|
||||
ALTER TABLE `artists` ADD INDEX `spotifyLookup` (`spotify_id`);
|
||||
ALTER TABLE `tracks` ADD INDEX `spotifyLookup` (`spotify_id`);
|
||||
CREATE INDEX albumsSpotifyLookup ON albums (spotify_id);
|
||||
CREATE INDEX artistsSpotifyLookup ON artists (spotify_id);
|
||||
CREATE INDEX tracksSpotifyLookup ON tracks (spotify_id);
|
||||
|
||||
COMMIT;
|
Loading…
Add table
Add a link
Reference in a new issue