createTable method
Creates the jobs table if it doesn't exist.
Implementation
Future<void> createTable() async {
await _db.query('''
CREATE TABLE IF NOT EXISTS $_table (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
queue TEXT NOT NULL DEFAULT 'default',
status TEXT NOT NULL DEFAULT 'pending',
attempts INTEGER NOT NULL DEFAULT 0,
max_retries INTEGER NOT NULL DEFAULT 3,
payload TEXT,
last_error TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
available_at TIMESTAMPTZ,
finished_at TIMESTAMPTZ,
reserved_by TEXT
)
''');
await _db.query('''
CREATE INDEX IF NOT EXISTS idx_${_table}_pop
ON $_table(queue, status, available_at)
''');
}