Merge remote-tracking branch 'origin/postgres'

This commit is contained in:
GitLab Bot 2022-06-27 16:10:01 +12:00
commit ba3e35cb86
47 changed files with 473 additions and 360 deletions

View file

@ -1 +1 @@
ALTER TABLE `tracks` DROP COLUMN `length`;
ALTER TABLE tracks DROP COLUMN length;

View file

@ -1 +1 @@
ALTER TABLE `tracks` ADD COLUMN `length` INT NOT NULL DEFAULT 0;
ALTER TABLE tracks ADD COLUMN length INT NOT NULL DEFAULT 0;

View file

@ -1 +1 @@
DROP TABLE IF EXISTS `genres`;
DROP TABLE IF EXISTS genres;

View file

@ -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)

View file

@ -1 +1 @@
DROP TABLE IF EXISTS `refresh_tokens`;
DROP TABLE IF EXISTS refresh_tokens;

View file

@ -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);

View file

@ -1 +1 @@
ALTER TABLE `users` DROP COLUMN `mod`;
ALTER TABLE users DROP COLUMN mod;

View file

@ -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;

View file

@ -1 +1 @@
DROP TABLE IF EXISTS `config`;
DROP TABLE IF EXISTS config;

View file

@ -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)
);

View file

@ -1 +1 @@
DROP TABLE IF EXISTS `users`;
DROP TABLE IF EXISTS users;

View file

@ -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);

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -1 +1 @@
ALTER TABLE `users` DROP COLUMN `token`;
ALTER TABLE users DROP COLUMN token;

View file

@ -1 +1 @@
ALTER TABLE `users` ADD COLUMN `token` VARCHAR(32) NOT NULL;
ALTER TABLE users ADD COLUMN token VARCHAR(32) NOT NULL;

View file

@ -1 +1 @@
TRUNCATE `config`;
TRUNCATE config;

View file

@ -1,5 +1,5 @@
INSERT INTO
`config`(`key`, `value`)
config(key, value)
VALUES
('SPOTIFY_API_ID', ''),
('SPOTIFY_API_SECRET', ''),

View file

@ -1 +1 @@
DROP TABLE IF EXISTS `resettoken`;
DROP TABLE IF EXISTS resettoken;

View file

@ -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)

View file

@ -1 +1 @@
DROP TABLE IF EXISTS `oauth_tokens`;
DROP TABLE IF EXISTS oauth_tokens;

View file

@ -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")
);

View file

@ -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;

View file

@ -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;