mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-01-06 08:49:53 -06:00
feat: dynamic crons (#1000)
* wip: stub schedule page * wip: stub list * fix: 2025 bug... * feat: wip cron list * feat: addl meta * feat: expose metadata column * feat: sort and created at * cron to recurring * scheduled: with statuses * fix: links * feat: expose schedule ids * feat: delete run * fix: remove search * feat: filterable scheduled * fix: remove broken features * chore: lint * rm metadata for now * chore: lint * chore: recurring to cron job * fix: review comments * fix: populator * wip cron changes * fix: ids are helpful * fix: populator * wip * wip: create crons, stub scheduled * wip: create schedule * wip add trigger buttons to all the pages * wip: reusable trigger form * fix: hash * fixes: cron bugs * fixes: cron sort * fix: out of order migrations * fix: add internalRetryCount * feat: api things survive version transitions * feat: table things * feat: delete disabled for non api * feat: prevent delete non api * feat: filters * require cron name for api * default name * fix: migrations * frontend improvements and migrations * fix: pagination --------- Co-authored-by: Alexander Belanger <alexander@hatchet.run>
This commit is contained in:
12
sql/migrations/20241121195232_v0.52.2.sql
Normal file
12
sql/migrations/20241121195232_v0.52.2.sql
Normal file
@@ -0,0 +1,12 @@
|
||||
-- Create enum type "WorkflowTriggerCronRefMethods"
|
||||
CREATE TYPE "WorkflowTriggerCronRefMethods" AS ENUM ('DEFAULT', 'API');
|
||||
-- Create enum type "WorkflowTriggerScheduledRefMethods"
|
||||
CREATE TYPE "WorkflowTriggerScheduledRefMethods" AS ENUM ('DEFAULT', 'API');
|
||||
-- Modify "WorkflowTriggerCronRef" table
|
||||
ALTER TABLE "WorkflowTriggerCronRef" ADD COLUMN "name" text NULL, ADD COLUMN "id" uuid NOT NULL, ADD COLUMN "method" "WorkflowTriggerCronRefMethods" NOT NULL DEFAULT 'DEFAULT', ADD CONSTRAINT "WorkflowTriggerCronRef_parentId_cron_name_key" UNIQUE ("parentId", "cron", "name");
|
||||
-- Modify "WorkflowTriggerScheduledRef" table
|
||||
ALTER TABLE "WorkflowTriggerScheduledRef" ADD COLUMN "method" "WorkflowTriggerScheduledRefMethods" NOT NULL DEFAULT 'DEFAULT';
|
||||
-- Modify "WorkflowRunTriggeredBy" table
|
||||
ALTER TABLE "WorkflowRunTriggeredBy" DROP CONSTRAINT "WorkflowRunTriggeredBy_cronParentId_cronSchedule_fkey", ADD COLUMN "cronName" text NULL, ADD CONSTRAINT "WorkflowRunTriggeredBy_cronParentId_cronSchedule_cronName_fkey" FOREIGN KEY ("cronParentId", "cronSchedule", "cronName") REFERENCES "WorkflowTriggerCronRef" ("parentId", "cron", "name") ON UPDATE CASCADE ON DELETE SET NULL;
|
||||
-- Drop index "WorkflowTriggerCronRef_parentId_cron_key" from table: "WorkflowTriggerCronRef"
|
||||
DROP INDEX "WorkflowTriggerCronRef_parentId_cron_key";
|
||||
@@ -1,4 +1,4 @@
|
||||
h1:j1/LVeVQfVWKJ0PWDoLt7Ro/wnpzq+i0tfb82YGVkNE=
|
||||
h1:dC6PwKKRlUBxyRThtmBxRZoUsxdOH3dTos0926Yij54=
|
||||
20240115180414_init.sql h1:Ef3ZyjAHkmJPdGF/dEWCahbwgcg6uGJKnDxW2JCRi2k=
|
||||
20240122014727_v0_6_0.sql h1:o/LdlteAeFgoHJ3e/M4Xnghqt9826IE/Y/h0q95Acuo=
|
||||
20240126235456_v0_7_0.sql h1:KiVzt/hXgQ6esbdC6OMJOOWuYEXmy1yeCpmsVAHTFKs=
|
||||
@@ -77,3 +77,4 @@ h1:j1/LVeVQfVWKJ0PWDoLt7Ro/wnpzq+i0tfb82YGVkNE=
|
||||
20241114175346_v0.51.3.sql h1:ZbpRJsCmt6098ilZ3LtOk9LXRzuuwiznXPJmSkZSRpg=
|
||||
20241121142159_v0.52.0.sql h1:JGnuMOg3QTs2u9mcgMGA1PNqjrA64zyHpFVm9IRCkAg=
|
||||
20241121153627_v0.52.1.sql h1:6ZHMeSYHjo1MRS1qDJH6RzNKdR46YQzdJ9DxCm56IlM=
|
||||
20241121195232_v0.52.2.sql h1:ExHYa+nRVVff5Gb1dvRwHyC98eFRVA0Vsrg/bd96hYE=
|
||||
|
||||
@@ -993,6 +993,7 @@ CREATE TABLE "WorkflowRunTriggeredBy" (
|
||||
"scheduledId" UUID,
|
||||
"input" JSONB,
|
||||
"parentId" UUID NOT NULL,
|
||||
"cronName" TEXT,
|
||||
"identityId" BIGINT GENERATED ALWAYS AS IDENTITY,
|
||||
|
||||
CONSTRAINT "WorkflowRunTriggeredBy_pkey" PRIMARY KEY ("id")
|
||||
@@ -1010,6 +1011,13 @@ CREATE TABLE "WorkflowTag" (
|
||||
CONSTRAINT "WorkflowTag_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "WorkflowTriggerCronRefMethods" AS ENUM (
|
||||
'DEFAULT',
|
||||
'API'
|
||||
);
|
||||
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "WorkflowTriggerCronRef" (
|
||||
"parentId" UUID NOT NULL,
|
||||
@@ -1020,7 +1028,10 @@ CREATE TABLE "WorkflowTriggerCronRef" (
|
||||
"additionalMetadata" JSONB,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"deletedAt" TIMESTAMP(3),
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"name" TEXT,
|
||||
"id" UUID NOT NULL,
|
||||
"method" "WorkflowTriggerCronRefMethods" NOT NULL DEFAULT 'DEFAULT'
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
@@ -1029,6 +1040,12 @@ CREATE TABLE "WorkflowTriggerEventRef" (
|
||||
"eventKey" TEXT NOT NULL
|
||||
);
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "WorkflowTriggerScheduledRefMethods" AS ENUM (
|
||||
'DEFAULT',
|
||||
'API'
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "WorkflowTriggerScheduledRef" (
|
||||
"id" UUID NOT NULL,
|
||||
@@ -1044,7 +1061,7 @@ CREATE TABLE "WorkflowTriggerScheduledRef" (
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"deletedAt" TIMESTAMP(3),
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
"method" "WorkflowTriggerScheduledRefMethods" NOT NULL DEFAULT 'DEFAULT',
|
||||
CONSTRAINT "WorkflowTriggerScheduledRef_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
@@ -1487,9 +1504,6 @@ CREATE UNIQUE INDEX "WorkflowTag_id_key" ON "WorkflowTag" ("id" ASC);
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "WorkflowTag_tenantId_name_key" ON "WorkflowTag" ("tenantId" ASC, "name" ASC);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "WorkflowTriggerCronRef_parentId_cron_key" ON "WorkflowTriggerCronRef" ("parentId" ASC, "cron" ASC);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "WorkflowTriggerEventRef_parentId_eventKey_key" ON "WorkflowTriggerEventRef" ("parentId" ASC, "eventKey" ASC);
|
||||
|
||||
@@ -1683,9 +1697,6 @@ ALTER TABLE "WorkflowRun" ADD CONSTRAINT "WorkflowRun_parentId_fkey" FOREIGN KEY
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "WorkflowRunStickyState" ADD CONSTRAINT "WorkflowRunStickyState_workflowRunId_fkey" FOREIGN KEY ("workflowRunId") REFERENCES "WorkflowRun" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "WorkflowRunTriggeredBy" ADD CONSTRAINT "WorkflowRunTriggeredBy_cronParentId_cronSchedule_fkey" FOREIGN KEY ("cronParentId", "cronSchedule") REFERENCES "WorkflowTriggerCronRef" ("parentId", "cron") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "WorkflowRunTriggeredBy" ADD CONSTRAINT "WorkflowRunTriggeredBy_scheduledId_fkey" FOREIGN KEY ("scheduledId") REFERENCES "WorkflowTriggerScheduledRef" ("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
@@ -1701,6 +1712,10 @@ ALTER TABLE "WorkflowTriggerCronRef" ADD CONSTRAINT "WorkflowTriggerCronRef_tick
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "WorkflowTriggerEventRef" ADD CONSTRAINT "WorkflowTriggerEventRef_parentId_fkey" FOREIGN KEY ("parentId") REFERENCES "WorkflowTriggers" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "WorkflowTriggerCronRef" ADD CONSTRAINT "WorkflowTriggerCronRef_parentId_cron_name_key" UNIQUE ("parentId", "cron", "name");
|
||||
ALTER TABLE "WorkflowRunTriggeredBy" ADD CONSTRAINT "WorkflowRunTriggeredBy_cronParentId_cronSchedule_cronName_fkey" FOREIGN KEY ("cronParentId", "cronSchedule", "cronName") REFERENCES "WorkflowTriggerCronRef"("parentId", "cron", "name") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "WorkflowTriggerScheduledRef" ADD CONSTRAINT "WorkflowTriggerScheduledRef_parentId_fkey" FOREIGN KEY ("parentId") REFERENCES "WorkflowVersion" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user