Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: allow to provide migrations manually #911

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

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