feat: support durable task cancellation without foreign keys
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
ALTER TABLE pulse_attempt_evidence
|
||||
DROP CHECK ck_attempt_evidence_outcome,
|
||||
MODIFY COLUMN outcome VARCHAR(16) NOT NULL COMMENT 'Worker 声明的结果:SUCCEEDED、FAILED、UNKNOWN 或已确认停止且本次无遗留效果的 CANCELLED',
|
||||
ADD CONSTRAINT ck_attempt_evidence_outcome CHECK(outcome IN ('SUCCEEDED','FAILED','UNKNOWN','CANCELLED'));
|
||||
103
internal/storage/mysql/migrations/000008_no_foreign_keys.up.sql
Normal file
103
internal/storage/mysql/migrations/000008_no_foreign_keys.up.sql
Normal file
@@ -0,0 +1,103 @@
|
||||
-- 移除全部历史外键,保留现有索引、唯一约束、状态约束和数据。
|
||||
-- 资源存在性及归属由服务端按命名空间在事务内校验,禁止级联删除。
|
||||
ALTER TABLE orbit_namespaces
|
||||
DROP FOREIGN KEY fk_orbit_namespaces_0;
|
||||
ALTER TABLE orbit_credentials
|
||||
DROP FOREIGN KEY fk_orbit_credentials_0;
|
||||
ALTER TABLE orbit_idempotency_keys
|
||||
DROP FOREIGN KEY fk_orbit_idempotency_keys_0;
|
||||
ALTER TABLE orbit_events
|
||||
DROP FOREIGN KEY fk_orbit_events_0;
|
||||
ALTER TABLE orbit_subscriptions
|
||||
DROP FOREIGN KEY fk_orbit_subscriptions_0,
|
||||
DROP FOREIGN KEY fk_orbit_subscriptions_1;
|
||||
ALTER TABLE orbit_deliveries
|
||||
DROP FOREIGN KEY fk_orbit_deliveries_0,
|
||||
DROP FOREIGN KEY fk_orbit_deliveries_1,
|
||||
DROP FOREIGN KEY fk_orbit_deliveries_2;
|
||||
ALTER TABLE orbit_audit_events
|
||||
DROP FOREIGN KEY fk_orbit_audit_events_0;
|
||||
ALTER TABLE pulse_queues
|
||||
DROP FOREIGN KEY fk_pulse_queues_0;
|
||||
ALTER TABLE pulse_execution_gates
|
||||
DROP FOREIGN KEY fk_pulse_execution_gates_0;
|
||||
ALTER TABLE pulse_worker_sessions
|
||||
DROP FOREIGN KEY fk_pulse_worker_sessions_0,
|
||||
DROP FOREIGN KEY fk_pulse_worker_sessions_1,
|
||||
DROP FOREIGN KEY fk_worker_session_instance;
|
||||
ALTER TABLE pulse_tasks
|
||||
DROP FOREIGN KEY fk_pulse_tasks_0,
|
||||
DROP FOREIGN KEY fk_pulse_tasks_1,
|
||||
DROP FOREIGN KEY fk_pulse_tasks_2,
|
||||
DROP FOREIGN KEY fk_pulse_tasks_3,
|
||||
DROP FOREIGN KEY fk_pulse_tasks_4;
|
||||
ALTER TABLE pulse_attempts
|
||||
DROP FOREIGN KEY fk_pulse_attempts_0,
|
||||
DROP FOREIGN KEY fk_pulse_attempts_1,
|
||||
DROP FOREIGN KEY fk_pulse_attempts_2;
|
||||
ALTER TABLE pulse_attempt_receipts
|
||||
DROP FOREIGN KEY fk_pulse_attempt_receipts_0,
|
||||
DROP FOREIGN KEY fk_pulse_attempt_receipts_1;
|
||||
ALTER TABLE pulse_concurrency_limits
|
||||
DROP FOREIGN KEY fk_pulse_concurrency_limits_0;
|
||||
ALTER TABLE pulse_permits
|
||||
DROP FOREIGN KEY fk_pulse_permits_0,
|
||||
DROP FOREIGN KEY fk_pulse_permits_1,
|
||||
DROP FOREIGN KEY fk_pulse_permits_2;
|
||||
ALTER TABLE pulse_schedules
|
||||
DROP FOREIGN KEY fk_pulse_schedules_0,
|
||||
DROP FOREIGN KEY fk_schedule_queue;
|
||||
ALTER TABLE pulse_schedule_versions
|
||||
DROP FOREIGN KEY fk_pulse_schedule_versions_0,
|
||||
DROP FOREIGN KEY fk_pulse_schedule_versions_1;
|
||||
ALTER TABLE pulse_schedule_occurrences
|
||||
DROP FOREIGN KEY fk_pulse_schedule_occurrences_0,
|
||||
DROP FOREIGN KEY fk_pulse_schedule_occurrences_1,
|
||||
DROP FOREIGN KEY fk_pulse_schedule_occurrences_2;
|
||||
ALTER TABLE weave_definitions
|
||||
DROP FOREIGN KEY fk_weave_definitions_0;
|
||||
ALTER TABLE weave_definition_versions
|
||||
DROP FOREIGN KEY fk_weave_definition_versions_0,
|
||||
DROP FOREIGN KEY fk_weave_definition_versions_1;
|
||||
ALTER TABLE weave_instances
|
||||
DROP FOREIGN KEY fk_weave_instances_0,
|
||||
DROP FOREIGN KEY fk_weave_instances_1,
|
||||
DROP FOREIGN KEY fk_weave_instances_2,
|
||||
DROP FOREIGN KEY fk_weave_instances_3;
|
||||
ALTER TABLE weave_steps
|
||||
DROP FOREIGN KEY fk_weave_steps_0,
|
||||
DROP FOREIGN KEY fk_weave_steps_1,
|
||||
DROP FOREIGN KEY fk_weave_steps_2;
|
||||
ALTER TABLE weave_activations
|
||||
DROP FOREIGN KEY fk_weave_activations_0,
|
||||
DROP FOREIGN KEY fk_weave_activations_1,
|
||||
DROP FOREIGN KEY fk_weave_activations_2;
|
||||
ALTER TABLE weave_waits
|
||||
DROP FOREIGN KEY fk_weave_waits_0,
|
||||
DROP FOREIGN KEY fk_weave_waits_1,
|
||||
DROP FOREIGN KEY fk_weave_waits_2;
|
||||
ALTER TABLE weave_signals
|
||||
DROP FOREIGN KEY fk_weave_signals_0,
|
||||
DROP FOREIGN KEY fk_weave_signals_1,
|
||||
DROP FOREIGN KEY fk_weave_signals_2;
|
||||
ALTER TABLE weave_poll_states
|
||||
DROP FOREIGN KEY fk_weave_poll_states_0,
|
||||
DROP FOREIGN KEY fk_weave_poll_states_1,
|
||||
DROP FOREIGN KEY fk_weave_poll_states_2;
|
||||
ALTER TABLE weave_poll_rounds
|
||||
DROP FOREIGN KEY fk_weave_poll_rounds_0,
|
||||
DROP FOREIGN KEY fk_weave_poll_rounds_1,
|
||||
DROP FOREIGN KEY fk_weave_poll_rounds_2;
|
||||
ALTER TABLE weave_inbox
|
||||
DROP FOREIGN KEY fk_weave_inbox_0,
|
||||
DROP FOREIGN KEY fk_weave_inbox_1,
|
||||
DROP FOREIGN KEY fk_weave_inbox_2;
|
||||
ALTER TABLE weave_pending_advances
|
||||
DROP FOREIGN KEY fk_weave_pending_advances_0,
|
||||
DROP FOREIGN KEY fk_weave_pending_advances_1;
|
||||
ALTER TABLE pulse_worker_instances
|
||||
DROP FOREIGN KEY fk_worker_instance_credential,
|
||||
DROP FOREIGN KEY fk_worker_instance_queue,
|
||||
DROP FOREIGN KEY fk_worker_instance_session;
|
||||
ALTER TABLE pulse_attempt_evidence
|
||||
DROP FOREIGN KEY fk_attempt_evidence_attempt;
|
||||
Reference in New Issue
Block a user