diff --git a/drizzle/manual/03-audit-log.sql b/drizzle/manual/03-audit-log.sql new file mode 100644 index 0000000..fa9414d --- /dev/null +++ b/drizzle/manual/03-audit-log.sql @@ -0,0 +1,17 @@ +-- Create audit_log table +CREATE TABLE IF NOT EXISTS audit_log ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + user_id UUID, + family_id UUID, + action TEXT NOT NULL, + metadata JSONB, + ip_address TEXT, + user_agent TEXT, + created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() +); + +-- Create index for queries +CREATE INDEX IF NOT EXISTS idx_audit_log_user ON audit_log(user_id); +CREATE INDEX IF NOT EXISTS idx_audit_log_family ON audit_log(family_id); +CREATE INDEX IF NOT EXISTS idx_audit_log_action ON audit_log(action); +CREATE INDEX IF NOT EXISTS idx_audit_log_created ON audit_log(created_at DESC); \ No newline at end of file diff --git a/drizzle/manual/04-password-resets.sql b/drizzle/manual/04-password-resets.sql new file mode 100644 index 0000000..d99a76a --- /dev/null +++ b/drizzle/manual/04-password-resets.sql @@ -0,0 +1,8 @@ +-- Create password_resets table +CREATE TABLE IF NOT EXISTS password_resets ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + user_id UUID NOT NULL REFERENCES users(id), + token TEXT UNIQUE NOT NULL, + expires_at TIMESTAMP WITH TIME ZONE NOT NULL, + used_at TIMESTAMP WITH TIME ZONE +); \ No newline at end of file