Files
omnivore/packages/db/migrations/0098.do.create_features_table.sql
2022-11-09 17:35:54 +08:00

29 lines
931 B
PL/PgSQL
Executable File

-- Type: DO
-- Name: create_features_table
-- Description: Create features table to store opt-in features by users
BEGIN;
CREATE TABLE IF NOT EXISTS omnivore.features (
id uuid PRIMARY KEY DEFAULT uuid_generate_v1mc(),
user_id uuid NOT NULL REFERENCES omnivore.user ON DELETE CASCADE,
name text NOT NULL,
granted_at timestamptz,
expires_at timestamptz,
created_at timestamptz NOT NULL DEFAULT current_timestamp,
updated_at timestamptz NOT NULL DEFAULT current_timestamp,
UNIQUE (user_id, name)
);
CREATE TRIGGER features_modtime BEFORE UPDATE ON omnivore.features
FOR EACH ROW EXECUTE PROCEDURE update_updated_at_column();
GRANT SELECT, INSERT, UPDATE, DELETE ON omnivore.features TO omnivore_user;
ALTER TABLE omnivore.user_personalization
ADD COLUMN IF NOT EXISTS speech_secondary_voice text,
ALTER COLUMN speech_rate TYPE text,
ALTER COLUMN speech_volume TYPE text;
COMMIT;