21 lines
987 B
MySQL
21 lines
987 B
MySQL
|
|
-- Track explicit Hub -> vTiger case and time exports so retries stay idempotent.
|
||
|
|
CREATE TABLE IF NOT EXISTS hub_case_vtiger_exports (
|
||
|
|
hub_sag_id INTEGER PRIMARY KEY REFERENCES sag_sager(id) ON DELETE RESTRICT,
|
||
|
|
vtiger_case_id VARCHAR(80) NOT NULL UNIQUE,
|
||
|
|
ticket_number VARCHAR(80),
|
||
|
|
status VARCHAR(20) NOT NULL DEFAULT 'partial' CHECK (status IN ('partial', 'complete')),
|
||
|
|
exported_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
last_error TEXT
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS hub_time_vtiger_exports (
|
||
|
|
hub_time_id INTEGER PRIMARY KEY REFERENCES tmodule_times(id) ON DELETE RESTRICT,
|
||
|
|
hub_sag_id INTEGER NOT NULL REFERENCES sag_sager(id) ON DELETE RESTRICT,
|
||
|
|
vtiger_timelog_id VARCHAR(80) NOT NULL UNIQUE,
|
||
|
|
exported_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_hub_time_vtiger_exports_case
|
||
|
|
ON hub_time_vtiger_exports(hub_sag_id, exported_at DESC);
|