chore: perauset customer project

This commit is contained in:
e2e
2026-07-11 08:35:17 +02:00
commit 37eea09bf0
293 changed files with 28412 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
-- Drop the placeholder user table from 0001 and replace with better-auth's schema
DROP TABLE IF EXISTS user;
-- better-auth user table with app-specific additionalFields
CREATE TABLE user (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
email TEXT NOT NULL UNIQUE,
email_verified INTEGER NOT NULL DEFAULT 0,
image TEXT,
created_at TEXT NOT NULL DEFAULT (datetime('now')),
updated_at TEXT NOT NULL DEFAULT (datetime('now')),
-- additionalFields
roles TEXT NOT NULL DEFAULT '[]',
display_name TEXT,
mobile_number TEXT,
whatsapp_number TEXT,
avatar_url TEXT
);
-- better-auth session table
CREATE TABLE session (
id TEXT PRIMARY KEY,
expires_at TEXT NOT NULL,
token TEXT NOT NULL UNIQUE,
created_at TEXT NOT NULL DEFAULT (datetime('now')),
updated_at TEXT NOT NULL DEFAULT (datetime('now')),
ip_address TEXT,
user_agent TEXT,
user_id TEXT NOT NULL REFERENCES user(id) ON DELETE CASCADE
);
CREATE INDEX idx_session_token ON session(token);
CREATE INDEX idx_session_user ON session(user_id);
-- better-auth account table
CREATE TABLE account (
id TEXT PRIMARY KEY,
account_id TEXT NOT NULL,
provider_id TEXT NOT NULL,
user_id TEXT NOT NULL REFERENCES user(id) ON DELETE CASCADE,
access_token TEXT,
refresh_token TEXT,
id_token TEXT,
access_token_expires_at TEXT,
refresh_token_expires_at TEXT,
scope TEXT,
password TEXT,
created_at TEXT NOT NULL DEFAULT (datetime('now')),
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
);
CREATE INDEX idx_account_user ON account(user_id);
CREATE UNIQUE INDEX idx_account_provider ON account(provider_id, account_id);
-- better-auth verification table
CREATE TABLE verification (
id TEXT PRIMARY KEY,
identifier TEXT NOT NULL,
value TEXT NOT NULL,
expires_at TEXT NOT NULL,
created_at TEXT DEFAULT (datetime('now')),
updated_at TEXT DEFAULT (datetime('now'))
);
CREATE INDEX idx_verification_identifier ON verification(identifier);