54 lines
1.3 KiB
TypeScript
54 lines
1.3 KiB
TypeScript
import * as path from 'path'
|
|
|
|
import { promises as fs } from 'fs'
|
|
import {
|
|
Kysely,
|
|
Migrator,
|
|
SqliteDialect,
|
|
FileMigrationProvider,
|
|
} from 'kysely'
|
|
import SQLite from "better-sqlite3";
|
|
import { Database } from './lib/types';
|
|
|
|
export async function migrateToLatest() {
|
|
const __dirname = path.resolve();
|
|
const db = new Kysely<Database>({
|
|
dialect: new SqliteDialect({
|
|
database: new SQLite("order.sqlite3"),
|
|
}),
|
|
})
|
|
|
|
const { up } = await import('./migration/2024-04-19');
|
|
|
|
await up(db);
|
|
|
|
// const migrator = new Migrator({
|
|
// db,
|
|
// provider: new FileMigrationProvider({
|
|
// fs,
|
|
// path,
|
|
// // This needs to be an absolute path.
|
|
// migrationFolder: path.join(__dirname, './migration'),
|
|
// }),
|
|
// })
|
|
|
|
// const { error, results } = await migrator.migrateToLatest()
|
|
|
|
// results?.forEach((it) => {
|
|
// if (it.status === 'Success') {
|
|
// console.log(`migration "${it.migrationName}" was executed successfully`)
|
|
// } else if (it.status === 'Error') {
|
|
// console.error(`failed to execute migration "${it.migrationName}"`)
|
|
// }
|
|
// })
|
|
|
|
// if (error) {
|
|
// console.error('failed to migrate')
|
|
// console.error(error)
|
|
// process.exit(1)
|
|
// }
|
|
|
|
await db.destroy()
|
|
}
|
|
|
|
migrateToLatest() |