feat: simplify SOP to immediate-effect configuration
This commit is contained in:
23
migrations/000003_multitable_outbox.up.sql
Normal file
23
migrations/000003_multitable_outbox.up.sql
Normal file
@@ -0,0 +1,23 @@
|
||||
CREATE TABLE multitable_outbox (
|
||||
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
tenant_id BIGINT UNSIGNED NOT NULL,
|
||||
audit_log_id BIGINT UNSIGNED NULL,
|
||||
resource VARCHAR(64) NOT NULL,
|
||||
resource_id BIGINT UNSIGNED NOT NULL,
|
||||
action VARCHAR(64) NOT NULL,
|
||||
payload JSON NOT NULL,
|
||||
dedupe_key VARCHAR(191) NOT NULL,
|
||||
status VARCHAR(24) NOT NULL DEFAULT 'pending',
|
||||
attempts INT NOT NULL DEFAULT 0,
|
||||
available_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
last_error TEXT NOT NULL,
|
||||
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_multitable_outbox_audit (audit_log_id),
|
||||
UNIQUE KEY uk_multitable_outbox_dedupe (dedupe_key),
|
||||
KEY idx_multitable_outbox_pending (status, available_at),
|
||||
KEY idx_multitable_outbox_resource (tenant_id, resource, resource_id),
|
||||
CONSTRAINT fk_multitable_outbox_tenant FOREIGN KEY (tenant_id) REFERENCES tenants(id),
|
||||
CONSTRAINT fk_multitable_outbox_audit FOREIGN KEY (audit_log_id) REFERENCES audit_logs(id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
Reference in New Issue
Block a user