23 lines
783 B
TypeScript
23 lines
783 B
TypeScript
import Migration from "../../db/Migration";
|
|
import {query} from "../../db/MysqlConnectionManager";
|
|
|
|
export default class CreateMagicLinksTable extends Migration {
|
|
async install(): Promise<void> {
|
|
await query('CREATE TABLE magic_links(' +
|
|
'id INT NOT NULL AUTO_INCREMENT,' +
|
|
'session_id CHAR(32) UNIQUE NOT NULL,' +
|
|
'email VARCHAR(254) NOT NULL,' +
|
|
'token CHAR(96) NOT NULL,' +
|
|
'action_type VARCHAR(64) NOT NULL,' +
|
|
'original_url VARCHAR(1745) NOT NULL,' +
|
|
'generated_at DATETIME NOT NULL,' +
|
|
'authorized BOOLEAN NOT NULL,' +
|
|
'PRIMARY KEY(id)' +
|
|
')');
|
|
}
|
|
|
|
async rollback(): Promise<void> {
|
|
await query('DROP TABLE magic_links');
|
|
}
|
|
|
|
} |