1
0
mirror of https://github.com/mxpv/podsync.git synced 2024-05-11 05:55:04 +00:00

39 lines
1.1 KiB
Go
Raw Normal View History

2017-08-05 18:35:52 -07:00
package storage
2017-07-22 22:08:38 -07:00
const installScript = `
BEGIN;
DO $$
BEGIN
2017-08-13 14:50:59 -07:00
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'provider') THEN
2017-08-13 21:32:37 -07:00
CREATE TYPE provider AS ENUM ('youtube', 'vimeo');
2017-08-13 14:50:59 -07:00
END IF;
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'link_type') THEN
2017-08-13 21:32:37 -07:00
CREATE TYPE link_type AS ENUM ('channel', 'playlist', 'user', 'group');
2017-08-13 14:50:59 -07:00
END IF;
2017-07-22 22:08:38 -07:00
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'quality') THEN
CREATE TYPE quality AS ENUM ('high', 'low');
END IF;
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'format') THEN
CREATE TYPE format AS ENUM ('audio', 'video');
END IF;
END
$$;
CREATE TABLE IF NOT EXISTS feeds (
id BIGSERIAL PRIMARY KEY,
2017-07-31 21:51:21 -07:00
hash_id VARCHAR(12) NOT NULL CHECK (hash_id <> '') UNIQUE,
2017-07-22 22:08:38 -07:00
user_id VARCHAR(32) NULL,
2017-08-13 14:50:59 -07:00
item_id VARCHAR(32) NOT NULL CHECK (item_id <> ''),
provider provider NOT NULL,
link_type link_type NOT NULL,
2017-07-22 22:08:38 -07:00
page_size INT NOT NULL DEFAULT 50,
2017-07-31 21:51:21 -07:00
format format NOT NULL DEFAULT 'video',
2017-08-13 14:50:59 -07:00
quality quality NOT NULL DEFAULT 'high',
feature_level INT NOT NULL DEFAULT 0,
2017-07-31 21:51:21 -07:00
last_access timestamp WITHOUT TIME ZONE NOT NULL
2017-07-22 22:08:38 -07:00
);
COMMIT;
`