jam-cloud/db/up/track_downloads.sql

30 lines
1.2 KiB
SQL

CREATE TABLE download_trackers (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id VARCHAR(64) REFERENCES users(id) ON DELETE CASCADE,
remote_ip VARCHAR(400) NOT NULL,
jam_track_id VARCHAR (64) NOT NULL REFERENCES jam_tracks(id) ON DELETE CASCADE,
paid BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX index_download_trackers_on_user_id ON download_trackers USING btree (user_id);
CREATE INDEX index_download_trackers_on_remote_ip ON download_trackers USING btree (remote_ip);
CREATE INDEX index_download_trackers_on_created_at ON download_trackers USING btree (created_at, paid);
CREATE TABLE ip_blacklists (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
remote_ip VARCHAR(400) UNIQUE NOT NULL,
notes VARCHAR,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE user_blacklists (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id VARCHAR(64) UNIQUE NOT NULL REFERENCES users(id) ON DELETE CASCADE,
notes VARCHAR,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);