UNPKG

@lucidcms/core

Version:

The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.

1 lines 8.04 kB
{"version":3,"file":"00000004-queues.mjs","names":[],"sources":["../../../../src/libs/db/migrations/00000004-queues.ts"],"sourcesContent":["import type { Kysely } from \"kysely\";\nimport type DatabaseAdapter from \"../adapter-base.js\";\nimport type { MigrationFn } from \"../types.js\";\n\nconst Migration00000004: MigrationFn = (adapter: DatabaseAdapter) => {\n\treturn {\n\t\tasync up(db: Kysely<unknown>) {\n\t\t\tawait db.schema\n\t\t\t\t.createTable(\"lucid_queue_jobs\")\n\t\t\t\t.addColumn(\"id\", adapter.getDataType(\"primary\"), (col) =>\n\t\t\t\t\tadapter.primaryKeyColumnBuilder(col),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"job_id\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"event_type\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"event_data\", adapter.getDataType(\"json\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"status\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull().defaultTo(\"pending\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"queue_adapter_key\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"priority\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.defaultTo(0),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"attempts\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.defaultTo(0).notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"max_attempts\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.defaultTo(3).notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"error_message\", adapter.getDataType(\"text\"))\n\t\t\t\t.addColumn(\"created_at\", adapter.getDataType(\"timestamp\"), (col) =>\n\t\t\t\t\tcol\n\t\t\t\t\t\t.defaultTo(\n\t\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\t\"timestamp\",\n\t\t\t\t\t\t\t\tadapter.getDefault(\"timestamp\", \"now\"),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"scheduled_for\", adapter.getDataType(\"timestamp\"))\n\t\t\t\t.addColumn(\"started_at\", adapter.getDataType(\"timestamp\"))\n\t\t\t\t.addColumn(\"completed_at\", adapter.getDataType(\"timestamp\"))\n\t\t\t\t.addColumn(\"failed_at\", adapter.getDataType(\"timestamp\"))\n\t\t\t\t.addColumn(\"next_retry_at\", adapter.getDataType(\"timestamp\"))\n\t\t\t\t.addColumn(\n\t\t\t\t\t\"created_by_user_id\",\n\t\t\t\t\tadapter.getDataType(\"integer\"),\n\t\t\t\t\t(col) => col.references(\"lucid_users.id\").onDelete(\"set null\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"updated_at\", adapter.getDataType(\"timestamp\"), (col) =>\n\t\t\t\t\tcol.defaultTo(\n\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\"timestamp\",\n\t\t\t\t\t\t\tadapter.getDefault(\"timestamp\", \"now\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createTable(\"lucid_queue_job_tenants\")\n\t\t\t\t.addColumn(\"id\", adapter.getDataType(\"primary\"), (col) =>\n\t\t\t\t\tadapter.primaryKeyColumnBuilder(col),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"queue_job_id\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.references(\"lucid_queue_jobs.id\").onDelete(\"cascade\").notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"tenant_key\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.references(\"lucid_tenants.key\").onDelete(\"cascade\").notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"created_at\", adapter.getDataType(\"timestamp\"), (col) =>\n\t\t\t\t\tcol.defaultTo(\n\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\"timestamp\",\n\t\t\t\t\t\t\tadapter.getDefault(\"timestamp\", \"now\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"updated_at\", adapter.getDataType(\"timestamp\"), (col) =>\n\t\t\t\t\tcol.defaultTo(\n\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\"timestamp\",\n\t\t\t\t\t\t\tadapter.getDefault(\"timestamp\", \"now\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.addUniqueConstraint(\n\t\t\t\t\t\"lucid_queue_job_tenants_job_id_tenant_key_unique\",\n\t\t\t\t\t[\"queue_job_id\", \"tenant_key\"],\n\t\t\t\t)\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_queue_jobs_job_id\")\n\t\t\t\t.on(\"lucid_queue_jobs\")\n\t\t\t\t.column(\"job_id\")\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_queue_jobs_status\")\n\t\t\t\t.on(\"lucid_queue_jobs\")\n\t\t\t\t.column(\"status\")\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_queue_jobs_scheduled\")\n\t\t\t\t.on(\"lucid_queue_jobs\")\n\t\t\t\t.columns([\"status\", \"scheduled_for\"])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_queue_jobs_retry\")\n\t\t\t\t.on(\"lucid_queue_jobs\")\n\t\t\t\t.columns([\"status\", \"next_retry_at\"])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_queue_jobs_created\")\n\t\t\t\t.on(\"lucid_queue_jobs\")\n\t\t\t\t.column(\"created_at\")\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_queue_job_tenants_queue_job_id\")\n\t\t\t\t.on(\"lucid_queue_job_tenants\")\n\t\t\t\t.column(\"queue_job_id\")\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_queue_job_tenants_tenant_key\")\n\t\t\t\t.on(\"lucid_queue_job_tenants\")\n\t\t\t\t.column(\"tenant_key\")\n\t\t\t\t.execute();\n\t\t},\n\t\tasync down(_db: Kysely<unknown>) {},\n\t};\n};\n\nexport default Migration00000004;\n"],"mappings":"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"}