Skip to content

Instantly share code, notes, and snippets.

@lucca65
Created November 11, 2023 14:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lucca65/3844999674af14d8683686ec77422ce7 to your computer and use it in GitHub Desktop.
Save lucca65/3844999674af14d8683686ec77422ce7 to your computer and use it in GitHub Desktop.
Prisma file with models from Supabase
model audit_log_entries {
instance_id String? @db.Uuid
id String @id @db.Uuid
payload Json? @db.Json
created_at DateTime? @db.Timestamptz(6)
ip_address String @default("") @db.VarChar(64)
@@index([instance_id], map: "audit_logs_instance_id_idx")
@@schema("auth")
}
model flow_state {
id String @id @db.Uuid
user_id String? @db.Uuid
auth_code String
code_challenge_method code_challenge_method
code_challenge String
provider_type String
provider_access_token String?
provider_refresh_token String?
created_at DateTime? @db.Timestamptz(6)
updated_at DateTime? @db.Timestamptz(6)
authentication_method String
@@index([created_at(sort: Desc)])
@@index([auth_code], map: "idx_auth_code")
@@index([user_id, authentication_method], map: "idx_user_id_auth_method")
@@schema("auth")
}
model identities {
id String
user_id String @db.Uuid
identity_data Json
provider String
last_sign_in_at DateTime? @db.Timestamptz(6)
created_at DateTime? @db.Timestamptz(6)
updated_at DateTime? @db.Timestamptz(6)
email String? @default(dbgenerated("lower((identity_data ->> 'email'::text))"))
users users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
@@id([provider, id])
@@index([email])
@@index([user_id])
@@schema("auth")
}
model instances {
id String @id @db.Uuid
uuid String? @db.Uuid
raw_base_config String?
created_at DateTime? @db.Timestamptz(6)
updated_at DateTime? @db.Timestamptz(6)
@@schema("auth")
}
model mfa_amr_claims {
session_id String @db.Uuid
created_at DateTime @db.Timestamptz(6)
updated_at DateTime @db.Timestamptz(6)
authentication_method String
id String @id(map: "amr_id_pk") @db.Uuid
sessions sessions @relation(fields: [session_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
@@unique([session_id, authentication_method], map: "mfa_amr_claims_session_id_authentication_method_pkey")
@@schema("auth")
}
model mfa_challenges {
id String @id @db.Uuid
factor_id String @db.Uuid
created_at DateTime @db.Timestamptz(6)
verified_at DateTime? @db.Timestamptz(6)
ip_address String @db.Inet
mfa_factors mfa_factors @relation(fields: [factor_id], references: [id], onDelete: Cascade, onUpdate: NoAction, map: "mfa_challenges_auth_factor_id_fkey")
@@index([created_at(sort: Desc)], map: "mfa_challenge_created_at_idx")
@@schema("auth")
}
model mfa_factors {
id String @id @db.Uuid
user_id String @db.Uuid
friendly_name String?
factor_type factor_type
status factor_status
created_at DateTime @db.Timestamptz(6)
updated_at DateTime @db.Timestamptz(6)
secret String?
mfa_challenges mfa_challenges[]
users users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
@@index([user_id, created_at], map: "factor_id_created_at_idx")
@@schema("auth")
}
model refresh_tokens {
instance_id String? @db.Uuid
id BigInt @id @default(autoincrement())
token String? @unique(map: "refresh_tokens_token_unique") @db.VarChar(255)
user_id String? @db.VarChar(255)
revoked Boolean?
created_at DateTime? @db.Timestamptz(6)
updated_at DateTime? @db.Timestamptz(6)
parent String? @db.VarChar(255)
session_id String? @db.Uuid
sessions sessions? @relation(fields: [session_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
@@index([instance_id])
@@index([instance_id, user_id])
@@index([parent])
@@index([session_id, revoked])
@@index([updated_at(sort: Desc)])
@@schema("auth")
}
/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info.
model saml_providers {
id String @id @db.Uuid
sso_provider_id String @db.Uuid
entity_id String @unique
metadata_xml String
metadata_url String?
attribute_mapping Json?
created_at DateTime? @db.Timestamptz(6)
updated_at DateTime? @db.Timestamptz(6)
sso_providers sso_providers @relation(fields: [sso_provider_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
@@index([sso_provider_id])
@@schema("auth")
}
/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info.
model saml_relay_states {
id String @id @db.Uuid
sso_provider_id String @db.Uuid
request_id String
for_email String?
redirect_to String?
from_ip_address String? @db.Inet
created_at DateTime? @db.Timestamptz(6)
updated_at DateTime? @db.Timestamptz(6)
sso_providers sso_providers @relation(fields: [sso_provider_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
@@index([created_at(sort: Desc)])
@@index([for_email])
@@index([sso_provider_id])
@@schema("auth")
}
model schema_migrations {
version String @id @db.VarChar(255)
@@schema("auth")
}
model sessions {
id String @id @db.Uuid
user_id String @db.Uuid
created_at DateTime? @db.Timestamptz(6)
updated_at DateTime? @db.Timestamptz(6)
factor_id String? @db.Uuid
aal aal_level?
not_after DateTime? @db.Timestamptz(6)
mfa_amr_claims mfa_amr_claims[]
refresh_tokens refresh_tokens[]
users users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
@@index([not_after(sort: Desc)])
@@index([user_id])
@@index([user_id, created_at], map: "user_id_created_at_idx")
@@schema("auth")
}
/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info.
/// This model contains an expression index which requires additional setup for migrations. Visit https://pris.ly/d/expression-indexes for more info.
model sso_domains {
id String @id @db.Uuid
sso_provider_id String @db.Uuid
domain String
created_at DateTime? @db.Timestamptz(6)
updated_at DateTime? @db.Timestamptz(6)
sso_providers sso_providers @relation(fields: [sso_provider_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
@@index([sso_provider_id])
@@schema("auth")
}
/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info.
/// This model contains an expression index which requires additional setup for migrations. Visit https://pris.ly/d/expression-indexes for more info.
model sso_providers {
id String @id @db.Uuid
resource_id String?
created_at DateTime? @db.Timestamptz(6)
updated_at DateTime? @db.Timestamptz(6)
saml_providers saml_providers[]
saml_relay_states saml_relay_states[]
sso_domains sso_domains[]
@@schema("auth")
}
/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info.
/// This model contains an expression index which requires additional setup for migrations. Visit https://pris.ly/d/expression-indexes for more info.
model users {
instance_id String? @db.Uuid
id String @id @db.Uuid
aud String? @db.VarChar(255)
role String? @db.VarChar(255)
email String? @db.VarChar(255)
encrypted_password String? @db.VarChar(255)
email_confirmed_at DateTime? @db.Timestamptz(6)
invited_at DateTime? @db.Timestamptz(6)
confirmation_token String? @db.VarChar(255)
confirmation_sent_at DateTime? @db.Timestamptz(6)
recovery_token String? @db.VarChar(255)
recovery_sent_at DateTime? @db.Timestamptz(6)
email_change_token_new String? @db.VarChar(255)
email_change String? @db.VarChar(255)
email_change_sent_at DateTime? @db.Timestamptz(6)
last_sign_in_at DateTime? @db.Timestamptz(6)
raw_app_meta_data Json?
raw_user_meta_data Json?
is_super_admin Boolean?
created_at DateTime? @db.Timestamptz(6)
updated_at DateTime? @db.Timestamptz(6)
phone String? @unique
phone_confirmed_at DateTime? @db.Timestamptz(6)
phone_change String? @default("")
phone_change_token String? @default("") @db.VarChar(255)
phone_change_sent_at DateTime? @db.Timestamptz(6)
confirmed_at DateTime? @default(dbgenerated("LEAST(email_confirmed_at, phone_confirmed_at)")) @db.Timestamptz(6)
email_change_token_current String? @default("") @db.VarChar(255)
email_change_confirm_status Int? @default(0) @db.SmallInt
banned_until DateTime? @db.Timestamptz(6)
reauthentication_token String? @default("") @db.VarChar(255)
reauthentication_sent_at DateTime? @db.Timestamptz(6)
is_sso_user Boolean @default(false)
deleted_at DateTime? @db.Timestamptz(6)
identities identities[]
mfa_factors mfa_factors[]
sessions sessions[]
members Member?
buckets buckets[]
@@index([instance_id])
@@schema("auth")
}
/// This model contains row level security and requires additional setup for migrations. Visit https://pris.ly/d/row-level-security for more info.
model buckets {
id String @id
name String @unique(map: "bname")
owner String? @db.Uuid
created_at DateTime? @default(now()) @db.Timestamptz(6)
updated_at DateTime? @default(now()) @db.Timestamptz(6)
public Boolean? @default(false)
avif_autodetection Boolean? @default(false)
file_size_limit BigInt?
allowed_mime_types String[]
users users? @relation(fields: [owner], references: [id], onDelete: NoAction, onUpdate: NoAction)
objects objects[]
@@schema("storage")
}
/// This model contains row level security and requires additional setup for migrations. Visit https://pris.ly/d/row-level-security for more info.
model migrations {
id Int @id
name String @unique @db.VarChar(100)
hash String @db.VarChar(40)
executed_at DateTime? @default(now()) @db.Timestamp(6)
@@schema("storage")
}
/// This model contains row level security and requires additional setup for migrations. Visit https://pris.ly/d/row-level-security for more info.
model objects {
id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid
bucket_id String?
name String?
owner String? @db.Uuid
created_at DateTime? @default(now()) @db.Timestamptz(6)
updated_at DateTime? @default(now()) @db.Timestamptz(6)
last_accessed_at DateTime? @default(now()) @db.Timestamptz(6)
metadata Json?
path_tokens String[] @default(dbgenerated("string_to_array(name, '/'::text)"))
version String?
buckets buckets? @relation(fields: [bucket_id], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "objects_bucketId_fkey")
@@unique([bucket_id, name], map: "bucketid_objname")
@@index([name], map: "name_prefix_search")
@@schema("storage")
}
enum aal_level {
aal1
aal2
aal3
@@schema("auth")
}
enum code_challenge_method {
s256
plain
@@schema("auth")
}
enum factor_status {
unverified
verified
@@schema("auth")
}
enum factor_type {
totp
webauthn
@@schema("auth")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment