forked from midou/invidious
35 lines
825 B
Crystal
35 lines
825 B
Crystal
module Invidious::Database::Migrations
|
|
class CreateUsersTable < Migration
|
|
version 4
|
|
|
|
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
|