15 lines
364 B
TypeScript
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>;
|
||
|
}
|