forked from midou/invidious
35 lines
815 B
Crystal
35 lines
815 B
Crystal
|
module Invidious::Migrations
|
||
|
class CreateUsersTable < Migration
|
||
|
version 3
|
||
|
|
||
|
def up(conn : DB::Connection)
|
||
|
conn.exec <<-SQL
|
||
|
CREATE TABLE IF NOT EXISTS public.users
|
||
|
(
|
||
|
updated timestamp with time zone,
|
||
|
notifications text[],
|
||
|
subscriptions text[],
|
||
|
email text NOT NULL,
|
||
|
preferences text,
|
||
|
password text,
|
||
|
token text,
|
||
|
watched text[],
|
||
|
feed_needs_update boolean,
|
||
|
CONSTRAINT users_email_key UNIQUE (email)
|
||
|
);
|
||
|
SQL
|
||
|
|
||
|
conn.exec <<-SQL
|
||
|
GRANT ALL ON TABLE public.users TO current_user;
|
||
|
SQL
|
||
|
|
||
|
conn.exec <<-SQL
|
||
|
CREATE UNIQUE INDEX IF NOT EXISTS email_unique_idx
|
||
|
ON public.users
|
||
|
USING btree
|
||
|
(lower(email) COLLATE pg_catalog."default");
|
||
|
SQL
|
||
|
end
|
||
|
end
|
||
|
end
|