Skip to content

Conversation

@SomaticIT
Copy link

Hello,

Thank you for providing this very useful library.

This PR aims to allow to provide migrations manually instead of looking in a specified folder.

It's particularly useful when working with bundlers. It allows to bundle migrations and provide them as an object of mapped modules.

Usage:

const migrations = {
  // you can specify a path directly (will be imported using require)
  "1663367180464_base.ts": "../../src/migrations/1663367180464_base.js",

  // you can specify a module directly
  "1663367180464_base.ts": require("../../src/migrations/1663367180464_base.js"),

  // you can specify a synchronous function
  "1663367180464_base.ts": () => require("../../src/migrations/1663367180464_base.js"),

  // you can specify an asynchronous function
  "1663367180464_base.ts": () => import("../../src/migrations/1663367180464_base.js")
};

await migration({
    dbClient,
    migrations,
    direction: "up",
    count: Infinity,
    migrationsTable: "migrations"
});

Vite exemple:

const migrations = import.meta.glob("../../../migrations/*.ts");

await migration({
    dbClient,
    migrations,
    direction: "up",
    count: Infinity,
    migrationsTable: "migrations"
});

@Shinigami92 Shinigami92 added c: feature Request for new feature needs rebase There is a merge conflict p: 1-normal Nothing urgent labels Apr 5, 2024
@Shinigami92 Shinigami92 added this to the v7.x milestone Apr 5, 2024
@Shinigami92
Copy link
Collaborator

@SomaticIT please rebase your work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c: feature Request for new feature needs rebase There is a merge conflict p: 1-normal Nothing urgent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants