···11+-- Add migration script here
22+CREATE TABLE IF NOT EXISTS album (
33+ id VARCHAR(255) PRIMARY KEY,
44+ title VARCHAR(255) NOT NULL,
55+ artist VARCHAR(255) NOT NULL,
66+ year INT,
77+ year_string VARCHAR(255),
88+ album_art VARCHAR(255),
99+ md5 VARCHAR(255) NOT NULL UNIQUE
1010+);
1111+1212+CREATE TABLE IF NOT EXISTS track (
1313+ id VARCHAR(255) PRIMARY KEY,
1414+ path VARCHAR(255) NOT NULL UNIQUE,
1515+ title VARCHAR(255) NOT NULL,
1616+ artist VARCHAR(255) NOT NULL,
1717+ album VARCHAR(255) NOT NULL,
1818+ album_artist VARCHAR(255) NOT NULL,
1919+ bitrate INT NOT NULL,
2020+ composer VARCHAR(255) NOT NULL,
2121+ disc_number INT NOT NULL,
2222+ filesize INT NOT NULL,
2323+ frequency INT NOT NULL,
2424+ length INT NOT NULL,
2525+ track_number INT,
2626+ year INT,
2727+ year_string VARCHAR(255),
2828+ genre VARCHAR(255),
2929+ md5 VARCHAR(255) NOT NULL UNIQUE,
3030+ album_art VARCHAR(255),
3131+ artist_id VARCHAR(255) NOT NULL,
3232+ album_id VARCHAR(255) NOT NULL,
3333+ genre_id VARCHAR(255),
3434+ created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
3535+ updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
3636+);
3737+3838+CREATE TABLE IF NOT EXISTS artist (
3939+ id VARCHAR(255) PRIMARY KEY,
4040+ name VARCHAR(255) NOT NULL UNIQUE,
4141+ bio TEXT,
4242+ image VARCHAR(255)
4343+);
4444+4545+CREATE TABLE IF NOT EXISTS genre (
4646+ id VARCHAR(255) PRIMARY KEY,
4747+ name VARCHAR(255) NOT NULL,
4848+ description TEXT,
4949+ image VARCHAR(255)
5050+);
5151+5252+CREATE TABLE IF NOT EXISTS playlist (
5353+ id VARCHAR(255) PRIMARY KEY,
5454+ name VARCHAR(255) NOT NULL,
5555+ description TEXT,
5656+ image VARCHAR(255),
5757+ folder_id VARCHAR(255),
5858+ created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
5959+ updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
6060+);
6161+6262+CREATE TABLE IF NOT EXISTS playlist_tracks (
6363+ id VARCHAR(255) PRIMARY KEY,
6464+ playlist_id VARCHAR(255) NOT NULL,
6565+ track_id VARCHAR(255) NOT NULL,
6666+ created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
6767+);
6868+6969+CREATE TABLE IF NOT EXISTS folder (
7070+ id VARCHAR(255) PRIMARY KEY,
7171+ name VARCHAR(255) NOT NULL,
7272+ parent_id VARCHAR(255),
7373+ created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
7474+ updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
7575+);
7676+7777+CREATE TABLE IF NOT EXISTS favourites (
7878+ id VARCHAR(255) PRIMARY KEY,
7979+ track_id VARCHAR(255) NOT NULL,
8080+ created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
8181+);
8282+8383+CREATE TABLE IF NOT EXISTS artist_tracks (
8484+ id VARCHAR(255) PRIMARY KEY,
8585+ artist_id VARCHAR(255) NOT NULL,
8686+ track_id VARCHAR(255) NOT NULL
8787+);
8888+8989+CREATE TABLE IF NOT EXISTS album_tracks (
9090+ id VARCHAR(255) PRIMARY KEY,
9191+ album_id VARCHAR(255) NOT NULL,
9292+ track_id VARCHAR(255) NOT NULL
9393+);
···11+pub mod album;
22+pub mod album_tracks;
33+pub mod artist;
44+pub mod artist_tracks;
55+pub mod favourites;
66+pub mod folder;
77+pub mod genre;
88+pub mod playlist;
99+pub mod playlist_tracks;
1010+pub mod track;
···11+pub mod album;
22+pub mod album_tracks;
33+pub mod artist;
44+pub mod artist_tracks;
55+pub mod favourites;
66+pub mod folder;
77+pub mod genre;
88+pub mod playlist;
99+pub mod playlist_tracks;
1010+pub mod track;