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()
|