SQL
CREATE TABLE campaign_leads (
id INTEGER PRIMARY KEY AUTOINCREMENT,
campaign_id INTEGER NOT NULL REFERENCES campaigns(id) ON DELETE CASCADE,
offer_id INTEGER REFERENCES offers(id) ON DELETE SET NULL,
student_id INTEGER NOT NULL REFERENCES students(id),
status TEXT NOT NULL DEFAULT 'open',
-- 'open' | 'contacted' | 'won' | 'lost'
created_at TEXT NOT NULL DEFAULT (datetime('now')),
shipped_at TEXT,
invoice_id INTEGER REFERENCES invoices(id) ON DELETE SET NULL,
UNIQUE (campaign_id, offer_id, student_id)
)
Columns
| Column | Data type | Allow null | Primary key | Actions |
|---|---|---|---|---|
id |
INTEGER |
✓ | ✓ | Rename | Drop |
campaign_id |
INTEGER |
Rename | Drop | ||
offer_id |
INTEGER |
✓ | Rename | Drop | |
student_id |
INTEGER |
Rename | Drop | ||
status |
TEXT |
Rename | Drop | ||
created_at |
TEXT |
Rename | Drop | ||
shipped_at |
TEXT |
✓ | Rename | Drop | |
invoice_id |
INTEGER |
✓ | Rename | Drop |
Foreign Keys
| Column | Destination |
|---|---|
invoice_id |
invoices.id |
student_id |
students.id |
offer_id |
offers.id |
campaign_id |
campaigns.id |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| sqlite_autoindex_campaign_leads_1 |
|
✓ | SQL | Drop |