From b0cbb099e048e16383fcb8bcf9b708f221e7391d Mon Sep 17 00:00:00 2001 From: Maksim Sitnikov Date: Wed, 22 May 2024 09:43:49 +0300 Subject: [PATCH] feat: add onlyOne option to migrate and rollback helpers (#18) --- lib/core.ts | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/lib/core.ts b/lib/core.ts index e1d8973..f50db7b 100644 --- a/lib/core.ts +++ b/lib/core.ts @@ -103,13 +103,26 @@ export function initDB({ await db.ready(); await db.primary.migrate.rollback({}, true); }, - rollbackDatabase: async function () { + rollbackDatabase: async function (args?: {onlyOne: boolean}) { await db.ready(); - await db.primary.migrate.rollback({}); + + const onlyOne = args ? args.onlyOne : false; + + if (onlyOne) { + await db.primary.migrate.down(); + } else { + await db.primary.migrate.rollback({}); + } }, - migrateDatabase: async function () { + migrateDatabase: async function (args?: {onlyOne: boolean}) { await db.ready(); - await db.primary.migrate.latest(); + + const onlyOne = args ? args.onlyOne : false; + if (onlyOne) { + await db.primary.migrate.up(); + } else { + await db.primary.migrate.latest(); + } }, prepareDatabase: async function () { await db.primary.migrate.latest();