ALTER TABLE bgp_speaker ADD COLUMN deployment_generation INTEGER NOT NULL DEFAULT 0; ALTER TABLE bgp_speaker ADD COLUMN deployment_request_sequence INTEGER NOT NULL DEFAULT 0; ALTER TABLE bgp_speaker ADD COLUMN deployment_job_id TEXT; ALTER TABLE bgp_speaker ADD COLUMN delivery_owner TEXT; ALTER TABLE bgp_speaker ADD COLUMN delivery_token INTEGER NOT NULL DEFAULT 0; ALTER TABLE bgp_speaker ADD COLUMN delivery_until TEXT; CREATE TABLE deployment_speaker ( job_id TEXT NOT NULL REFERENCES job_audit(id) ON DELETE CASCADE, tenant_id TEXT NOT NULL REFERENCES tenant(id) ON DELETE CASCADE, speaker_id TEXT NOT NULL REFERENCES bgp_speaker(id) ON DELETE CASCADE, revision_id TEXT NOT NULL, generation INTEGER NOT NULL, request_sequence INTEGER NOT NULL, state TEXT NOT NULL, confirmation TEXT NOT NULL DEFAULT '', error_message TEXT NOT NULL DEFAULT '', health_received_at TEXT, health_observation_token INTEGER NOT NULL DEFAULT 0, health_revision_id TEXT NOT NULL DEFAULT '', health_source_at TEXT NOT NULL DEFAULT '', health_error TEXT NOT NULL DEFAULT '', retry_round INTEGER NOT NULL DEFAULT 0, dispatch_attempts INTEGER NOT NULL DEFAULT 0, updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY(job_id,speaker_id) ); CREATE INDEX deployment_speaker_tenant_job ON deployment_speaker(tenant_id,job_id);