swaf/src/db/Migration.ts

15 lines
364 B
TypeScript

export default abstract class Migration {
public readonly version: number;
constructor(version: number) {
this.version = version;
}
async shouldRun(currentVersion: number): Promise<boolean> {
return this.version > currentVersion;
}
abstract async install(): Promise<void>;
abstract async rollback(): Promise<void>;
}