SQL
CREATE TABLE jobs (
id TEXT PRIMARY KEY,
job_type TEXT NOT NULL,
params TEXT,
status TEXT NOT NULL CHECK (status IN ('queued','leased','running','done','failed','dead')),
run_at TEXT NOT NULL,
lease_expires_at TEXT,
attempts INTEGER DEFAULT 0,
max_attempts INTEGER DEFAULT 5,
last_error TEXT,
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now'))
)
Columns
| Column | Data type | Allow null | Primary key | Actions |
|---|---|---|---|---|
id |
TEXT |
✓ | ✓ | Rename | Drop |
job_type |
TEXT |
Rename | Drop | ||
params |
TEXT |
✓ | Rename | Drop | |
status |
TEXT |
Rename | Drop | ||
run_at |
TEXT |
Rename | Drop | ||
lease_expires_at |
TEXT |
✓ | Rename | Drop | |
attempts |
INTEGER |
✓ | Rename | Drop | |
max_attempts |
INTEGER |
✓ | Rename | Drop | |
last_error |
TEXT |
✓ | Rename | Drop | |
created_at |
TEXT |
Rename | Drop | ||
updated_at |
TEXT |
Rename | Drop |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| idx_jobs_lease |
lease_expires_at
|
SQL | Drop | |
| idx_jobs_status_runat |
|
SQL | Drop | |
| idx_jobs_status_updatedat |
|
SQL | Drop | |
| sqlite_autoindex_jobs_1 |
id
|
✓ | SQL | Drop |