Tykevate

Tykevate — Database ER Diagram

18 tables  ·  19 foreign-key relationships  ·  MySQL / Drizzle ORM

18
Total Tables
19
FK Relationships
4
Auth Tables
14
App Tables
Legend:PK — Primary KeyFK — Foreign KeyUQ — Unique?Nullable column
Auth (BetterAuth)
user
PKidvarchar(36)
name?varchar(255)
UQemailvarchar(255)
email_verifiedboolean
image?text
is_adminboolean
created_attimestamp
updated_attimestamp
session
PKidvarchar(36)
FKuser_idvarchar(36)
UQtokenvarchar(255)
expires_attimestamp
ip_address?varchar(45)
user_agent?text
created_attimestamp
updated_attimestamp
account
PKidvarchar(36)
FKuser_idvarchar(36)
account_idvarchar(255)
provider_idvarchar(255)
access_token?text
refresh_token?text
id_token?text
password?varchar(255)
scope?text
created_attimestamp
updated_attimestamp
verification
PKidvarchar(36)
identifiervarchar(255)
valuevarchar(255)
expires_attimestamp
created_attimestamp
updated_attimestamp
User & Family
profile
PKidvarchar(36)
FKUQuser_idvarchar(36)
UQphone?varchar(20)
community_name?varchar(255)
house_no?varchar(100)
roleenum(member|instructor|…)
bio?text
interested_activitiesjson[]
specializationsjson[]
created_attimestamp
updated_attimestamp
child
PKidvarchar(36)
FKparent_user_idvarchar(36)
namevarchar(255)
date_of_birth?varchar(20)
gender?enum(male|female|other)
grade?varchar(50)
notes?text
created_attimestamp
updated_attimestamp
Org & Venue
community
PKidvarchar(36)
namevarchar(255)
city?varchar(255)
state?varchar(255)
pincode?varchar(20)
address?text
contact_name?varchar(255)
contact_email?varchar(255)
contact_phone?varchar(20)
is_activeboolean
created_attimestamp
updated_attimestamp
academy
PKidvarchar(36)
namevarchar(255)
description?text
category?varchar(100)
contact_name?varchar(255)
contact_email?varchar(255)
contact_phone?varchar(20)
website?varchar(500)
is_activeboolean
created_attimestamp
updated_attimestamp
location
PKidvarchar(36)
FKcommunity_id?varchar(36)
namevarchar(255)
address?text
city?varchar(255)
pincode?varchar(20)
capacity?int
is_activeboolean
created_attimestamp
updated_attimestamp
Programs
activity
PKidvarchar(36)
namevarchar(255)
category?varchar(100)
description?text
age_min / age_max?int
duration_weeks?int
sessions_per_week?int
price_monthly?decimal(10,2)
currencyvarchar(3)
stripe_price_id?varchar(255)
stripe_product_id?varchar(255)
delivery_modeenum(online|offline)
community_id?varchar(255)
is_activeboolean
created_attimestamp
updated_attimestamp
instructor
PKidvarchar(36)
FKuser_id?varchar(36)
academy_idvarchar(36)
namevarchar(255)
email?varchar(255)
phone?varchar(20)
bio?text
specializationsjson[]
availabilityjson[]
is_activeboolean
created_attimestamp
updated_attimestamp
batch
PKidvarchar(36)
FKactivity_id?varchar(36)
FKlocation_id?varchar(36)
instructor_id?varchar(36)
namevarchar(255)
start_date / end_date?varchar(20)
schedule?varchar(500)
timing?varchar(255)
fee?decimal(10,2)
max_capacity?int
is_activeboolean
created_attimestamp
updated_attimestamp
Transactions
enrollment
PKidvarchar(36)
FKparent_user_idvarchar(36)
FKactivity_idvarchar(36)
FKchild_id?varchar(36)
FKinstructor_id?varchar(36)
enrollee_typeenum(parent|child)
statusenum(pending|active|…)
start_date / end_date?varchar(20)
notes?text
created_attimestamp
updated_attimestamp
payment
PKidvarchar(36)
FKparent_user_idvarchar(36)
FKenrollment_id?varchar(36)
stripe_session_id?varchar(255)
stripe_payment_intent_id?varchar(255)
amountint
currencyvarchar(3)
statusenum(pending|paid|failed|refunded)
description?text
metadata?json
created_attimestamp
updated_attimestamp
invoice
PKidvarchar(36)
FKuser_idvarchar(36)
invoice_numbervarchar(50)
amountvarchar(50)
currencyvarchar(3)
statusenum(draft|sent|paid|…)
line_itemsjson[]
due_date?varchar(20)
notes?text
created_attimestamp
updated_attimestamp
Tracking
progress_entry
PKidvarchar(36)
FKenrollment_idvarchar(36)
FKrecorded_by?varchar(36)
datevarchar(20)
rating?int
notes?text
skillsjson[]
created_attimestamp
attendance
PKidvarchar(36)
FKenrollment_idvarchar(36)
FKmarked_by?varchar(36)
session_datevarchar(20)
statusenum(present|absent|late|excused)
notes?text
created_attimestamp
updated_attimestamp
Utility
phone_otp
PKidvarchar(36)
phonevarchar(20)
codevarchar(6)
expires_attimestamp
usedboolean
created_attimestamp

Foreign Key Relationships

#From TableColumnReferencesColumnOn Delete
1sessionuser_iduseridCASCADE
2accountuser_iduseridCASCADE
3profileuser_iduseridCASCADE
4childparent_user_iduseridCASCADE
5instructoruser_iduseridSET NULL
6locationcommunity_idcommunityidSET NULL
7batchactivity_idactivityidSET NULL
8batchlocation_idlocationidSET NULL
9enrollmentparent_user_iduseridCASCADE
10enrollmentactivity_idactivityidCASCADE
11enrollmentchild_idchildidCASCADE
12enrollmentinstructor_iduseridSET NULL
13paymentparent_user_iduseridCASCADE
14paymentenrollment_idenrollmentidSET NULL
15invoiceuser_iduseridCASCADE
16progress_entryenrollment_idenrollmentidCASCADE
17progress_entryrecorded_byuseridSET NULL
18attendanceenrollment_idenrollmentidCASCADE
19attendancemarked_byuseridSET NULL

Generated from src/server/db/schema.ts · Drizzle ORM + MySQL