2020-11-11 19:08:33 +01:00
|
|
|
import Migration from "../../db/Migration";
|
|
|
|
import ModelFactory from "../../db/ModelFactory";
|
|
|
|
import User from "../models/User";
|
2020-11-14 17:24:42 +01:00
|
|
|
import UserNameComponent from "../models/UserNameComponent";
|
|
|
|
import MagicLink from "../models/MagicLink";
|
|
|
|
import MagicLinkUserNameComponent from "../models/MagicLinkUserNameComponent";
|
2020-11-11 19:08:33 +01:00
|
|
|
|
|
|
|
export default class AddNameToUsersMigration extends Migration {
|
|
|
|
public async install(): Promise<void> {
|
|
|
|
await this.query(`ALTER TABLE users
|
|
|
|
ADD COLUMN name VARCHAR(64) UNIQUE NOT NULL`);
|
2020-11-14 17:24:42 +01:00
|
|
|
await this.query(`ALTER TABLE magic_links
|
|
|
|
ADD COLUMN username VARCHAR(64) DEFAULT NULL`);
|
2020-11-11 19:08:33 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public async rollback(): Promise<void> {
|
|
|
|
await this.query('ALTER TABLE users DROP COLUMN name');
|
2020-11-14 17:24:42 +01:00
|
|
|
await this.query('ALTER TABLE magic_links DROP COLUMN username');
|
2020-11-11 19:08:33 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public registerModels(): void {
|
|
|
|
ModelFactory.get(User).addComponent(UserNameComponent);
|
2020-11-14 17:24:42 +01:00
|
|
|
ModelFactory.get(MagicLink).addComponent(MagicLinkUserNameComponent);
|
2020-11-11 19:08:33 +01:00
|
|
|
}
|
|
|
|
}
|