Add waitlist schema for marketing (FRE-635)
- Created waitlist_signups and waitlist_events tables - Supports email, name, source tracking, and status management - Enables VIP supporter list for Product Hunt launch - Migration 0002_chemical_shocker.sql generated - Fixed brand color in product-hunt-assets-brief.md (#518ac8)
This commit is contained in:
@@ -85,29 +85,35 @@ const schemaSQL = `
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS revisions (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
script_id INTEGER NOT NULL REFERENCES scripts(id),
|
||||
title TEXT NOT NULL,
|
||||
description TEXT,
|
||||
version TEXT NOT NULL,
|
||||
content TEXT,
|
||||
created_by INTEGER NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS revisions (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
script_id INTEGER NOT NULL REFERENCES scripts(id),
|
||||
version_number INTEGER NOT NULL,
|
||||
branch_name TEXT NOT NULL DEFAULT 'main',
|
||||
parent_revision_id INTEGER,
|
||||
title TEXT NOT NULL,
|
||||
summary TEXT,
|
||||
content TEXT NOT NULL,
|
||||
author_id INTEGER NOT NULL REFERENCES users(id),
|
||||
status TEXT NOT NULL DEFAULT 'draft' CHECK(status IN ('draft', 'pending_review', 'accepted', 'rejected')),
|
||||
reviewed_by_id INTEGER REFERENCES users(id),
|
||||
reviewed_at TIMESTAMP,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS revision_changes (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
revision_id INTEGER NOT NULL REFERENCES revisions(id),
|
||||
change_type TEXT NOT NULL,
|
||||
description TEXT,
|
||||
scene_number INTEGER,
|
||||
line_number INTEGER,
|
||||
old_content TEXT,
|
||||
new_content TEXT,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS revision_changes (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
revision_id INTEGER NOT NULL REFERENCES revisions(id),
|
||||
change_type TEXT NOT NULL CHECK(change_type IN ('addition', 'deletion', 'modification')),
|
||||
element_type TEXT,
|
||||
old_content TEXT,
|
||||
new_content TEXT,
|
||||
scene_number INTEGER,
|
||||
line_number INTEGER,
|
||||
page_number INTEGER,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
`;
|
||||
|
||||
export async function getTestDb(): Promise<ReturnType<typeof drizzle>> {
|
||||
@@ -121,6 +127,12 @@ export async function getTestDb(): Promise<ReturnType<typeof drizzle>> {
|
||||
// Insert a test user
|
||||
sqlite.exec("INSERT INTO users (id, email, name) VALUES (1, 'test@test.com', 'Test User');");
|
||||
|
||||
// Insert a test project
|
||||
sqlite.exec("INSERT INTO projects (id, name, description, owner_id) VALUES (1, 'Test Project', 'A test project', 1);");
|
||||
|
||||
// Insert a test script
|
||||
sqlite.exec("INSERT INTO scripts (id, project_id, title, version) VALUES (1, 1, 'Test Script', '1.0');");
|
||||
|
||||
testDb = drizzle(sqlite);
|
||||
|
||||
return testDb;
|
||||
|
||||
Reference in New Issue
Block a user