@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 3.04 kB
JavaScript
const e=e=>({async up(t){await t.schema.createTable(`lucid_queue_jobs`).addColumn(`id`,e.getDataType(`primary`),t=>e.primaryKeyColumnBuilder(t)).addColumn(`job_id`,e.getDataType(`text`),e=>e.notNull()).addColumn(`event_type`,e.getDataType(`text`),e=>e.notNull()).addColumn(`event_data`,e.getDataType(`json`),e=>e.notNull()).addColumn(`status`,e.getDataType(`text`),e=>e.notNull().defaultTo(`pending`)).addColumn(`queue_adapter_key`,e.getDataType(`text`),e=>e.notNull()).addColumn(`priority`,e.getDataType(`integer`),e=>e.defaultTo(0)).addColumn(`attempts`,e.getDataType(`integer`),e=>e.defaultTo(0).notNull()).addColumn(`max_attempts`,e.getDataType(`integer`),e=>e.defaultTo(3).notNull()).addColumn(`error_message`,e.getDataType(`text`)).addColumn(`created_at`,e.getDataType(`timestamp`),t=>t.defaultTo(e.formatDefaultValue(`timestamp`,e.getDefault(`timestamp`,`now`))).notNull()).addColumn(`scheduled_for`,e.getDataType(`timestamp`)).addColumn(`started_at`,e.getDataType(`timestamp`)).addColumn(`completed_at`,e.getDataType(`timestamp`)).addColumn(`failed_at`,e.getDataType(`timestamp`)).addColumn(`next_retry_at`,e.getDataType(`timestamp`)).addColumn(`created_by_user_id`,e.getDataType(`integer`),e=>e.references(`lucid_users.id`).onDelete(`set null`)).addColumn(`updated_at`,e.getDataType(`timestamp`),t=>t.defaultTo(e.formatDefaultValue(`timestamp`,e.getDefault(`timestamp`,`now`)))).execute(),await t.schema.createTable(`lucid_queue_job_tenants`).addColumn(`id`,e.getDataType(`primary`),t=>e.primaryKeyColumnBuilder(t)).addColumn(`queue_job_id`,e.getDataType(`integer`),e=>e.references(`lucid_queue_jobs.id`).onDelete(`cascade`).notNull()).addColumn(`tenant_key`,e.getDataType(`text`),e=>e.references(`lucid_tenants.key`).onDelete(`cascade`).notNull()).addColumn(`created_at`,e.getDataType(`timestamp`),t=>t.defaultTo(e.formatDefaultValue(`timestamp`,e.getDefault(`timestamp`,`now`)))).addColumn(`updated_at`,e.getDataType(`timestamp`),t=>t.defaultTo(e.formatDefaultValue(`timestamp`,e.getDefault(`timestamp`,`now`)))).addUniqueConstraint(`lucid_queue_job_tenants_job_id_tenant_key_unique`,[`queue_job_id`,`tenant_key`]).execute(),await t.schema.createIndex(`idx_queue_jobs_job_id`).on(`lucid_queue_jobs`).column(`job_id`).execute(),await t.schema.createIndex(`idx_queue_jobs_status`).on(`lucid_queue_jobs`).column(`status`).execute(),await t.schema.createIndex(`idx_queue_jobs_scheduled`).on(`lucid_queue_jobs`).columns([`status`,`scheduled_for`]).execute(),await t.schema.createIndex(`idx_queue_jobs_retry`).on(`lucid_queue_jobs`).columns([`status`,`next_retry_at`]).execute(),await t.schema.createIndex(`idx_queue_jobs_created`).on(`lucid_queue_jobs`).column(`created_at`).execute(),await t.schema.createIndex(`idx_lucid_queue_job_tenants_queue_job_id`).on(`lucid_queue_job_tenants`).column(`queue_job_id`).execute(),await t.schema.createIndex(`idx_lucid_queue_job_tenants_tenant_key`).on(`lucid_queue_job_tenants`).column(`tenant_key`).execute()},async down(e){}});export{e as default};
//# sourceMappingURL=00000004-queues.mjs.map