|
| 1 | + |
| 2 | +CREATE SCHEMA IF NOT EXISTS auth AUTHORIZATION supabase_admin; |
| 3 | + |
| 4 | +-- auth.users definition |
| 5 | + |
| 6 | +CREATE TABLE auth.users ( |
| 7 | + instance_id uuid NULL, |
| 8 | + id uuid NOT NULL UNIQUE, |
| 9 | + aud varchar(255) NULL, |
| 10 | + "role" varchar(255) NULL, |
| 11 | + email varchar(255) NULL UNIQUE, |
| 12 | + encrypted_password varchar(255) NULL, |
| 13 | + confirmed_at timestamptz NULL, |
| 14 | + invited_at timestamptz NULL, |
| 15 | + confirmation_token varchar(255) NULL, |
| 16 | + confirmation_sent_at timestamptz NULL, |
| 17 | + recovery_token varchar(255) NULL, |
| 18 | + recovery_sent_at timestamptz NULL, |
| 19 | + email_change_token varchar(255) NULL, |
| 20 | + email_change varchar(255) NULL, |
| 21 | + email_change_sent_at timestamptz NULL, |
| 22 | + last_sign_in_at timestamptz NULL, |
| 23 | + raw_app_meta_data jsonb NULL, |
| 24 | + raw_user_meta_data jsonb NULL, |
| 25 | + is_super_admin bool NULL, |
| 26 | + created_at timestamptz NULL, |
| 27 | + updated_at timestamptz NULL, |
| 28 | + CONSTRAINT users_pkey PRIMARY KEY (id) |
| 29 | +); |
| 30 | +CREATE INDEX users_instance_id_email_idx ON auth.users USING btree (instance_id, email); |
| 31 | +CREATE INDEX users_instance_id_idx ON auth.users USING btree (instance_id); |
| 32 | + |
| 33 | +-- auth.refresh_tokens definition |
| 34 | + |
| 35 | +CREATE TABLE auth.refresh_tokens ( |
| 36 | + instance_id uuid NULL, |
| 37 | + id bigserial NOT NULL, |
| 38 | + "token" varchar(255) NULL, |
| 39 | + user_id varchar(255) NULL, |
| 40 | + revoked bool NULL, |
| 41 | + created_at timestamptz NULL, |
| 42 | + updated_at timestamptz NULL, |
| 43 | + CONSTRAINT refresh_tokens_pkey PRIMARY KEY (id) |
| 44 | +); |
| 45 | +CREATE INDEX refresh_tokens_instance_id_idx ON auth.refresh_tokens USING btree (instance_id); |
| 46 | +CREATE INDEX refresh_tokens_instance_id_user_id_idx ON auth.refresh_tokens USING btree (instance_id, user_id); |
| 47 | +CREATE INDEX refresh_tokens_token_idx ON auth.refresh_tokens USING btree (token); |
| 48 | + |
| 49 | +-- auth.instances definition |
| 50 | + |
| 51 | +CREATE TABLE auth.instances ( |
| 52 | + id uuid NOT NULL, |
| 53 | + uuid uuid NULL, |
| 54 | + raw_base_config text NULL, |
| 55 | + created_at timestamptz NULL, |
| 56 | + updated_at timestamptz NULL, |
| 57 | + CONSTRAINT instances_pkey PRIMARY KEY (id) |
| 58 | +); |
| 59 | + |
| 60 | +-- auth.audit_log_entries definition |
| 61 | + |
| 62 | +CREATE TABLE auth.audit_log_entries ( |
| 63 | + instance_id uuid NULL, |
| 64 | + id uuid NOT NULL, |
| 65 | + payload json NULL, |
| 66 | + created_at timestamptz NULL, |
| 67 | + CONSTRAINT audit_log_entries_pkey PRIMARY KEY (id) |
| 68 | +); |
| 69 | +CREATE INDEX audit_logs_instance_id_idx ON auth.audit_log_entries USING btree (instance_id); |
| 70 | + |
| 71 | +-- auth.schema_migrations definition |
| 72 | + |
| 73 | +CREATE TABLE auth.schema_migrations ( |
| 74 | + "version" varchar(255) NOT NULL, |
| 75 | + CONSTRAINT schema_migrations_pkey PRIMARY KEY ("version") |
| 76 | +); |
| 77 | + |
| 78 | +INSERT INTO auth.schema_migrations (version) |
| 79 | +VALUES ('20171026211738'), |
| 80 | + ('20171026211808'), |
| 81 | + ('20171026211834'), |
| 82 | + ('20180103212743'), |
| 83 | + ('20180108183307'), |
| 84 | + ('20180119214651'), |
| 85 | + ('20180125194653'); |
| 86 | + |
| 87 | +-- Gets the User ID from the request cookie |
| 88 | +create or replace function auth.uid() returns uuid as $$ |
| 89 | + select nullif(current_setting('request.jwt.claim.sub', true), '')::uuid; |
| 90 | +$$ language sql stable; |
| 91 | + |
| 92 | +-- Gets the User ID from the request cookie |
| 93 | +create or replace function auth.role() returns text as $$ |
| 94 | + select nullif(current_setting('request.jwt.claim.role', true), '')::text; |
| 95 | +$$ language sql stable; |
| 96 | + |
| 97 | +-- Supabase super admin |
| 98 | +CREATE USER supabase_auth_admin NOINHERIT CREATEROLE LOGIN NOREPLICATION; |
| 99 | +GRANT ALL PRIVILEGES ON SCHEMA auth TO supabase_auth_admin; |
| 100 | +GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA auth TO supabase_auth_admin; |
| 101 | +GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA auth TO supabase_auth_admin; |
| 102 | +ALTER USER supabase_auth_admin SET search_path = "auth"; |
0 commit comments