tethys.backend/database/migrations/1721999420193_create_backupcodes_table.ts

56 lines
1.6 KiB
TypeScript
Raw Normal View History

// node ace make:migration backupcodes
import { BaseSchema } from '@adonisjs/lucid/schema';
export default class extends BaseSchema {
protected tableName = 'backupcodes';
async up() {
this.schema.createTable(this.tableName, (table) => {
table.increments('id');
table.integer('user_id').unsigned();
table.string('code', 64).notNullable();
table.boolean('used').defaultTo(false);
table.foreign('user_id').references('id').inTable('accounts').onUpdate('CASCADE').onDelete('CASCADE');
table.index('user_id', 'backupcodes_uid');
});
}
async down() {
this.schema.dropTable(this.tableName);
}
}
// CREATE SEQUENCE IF NOT EXISTS gba.backupcodes_id_seq
// INCREMENT 1
// START 1
// MINVALUE 1
// MAXVALUE 2147483647
// CACHE 1;
// ALTER SEQUENCE gba.backupcodes_id_seq
// OWNER TO tethys_admin;
// GRANT ALL ON SEQUENCE gba.backupcodes_id_seq TO tethys_admin;
// GRANT USAGE ON SEQUENCE gba.backupcodes_id_seq TO tethys_app;
// CREATE TABLE IF NOT EXISTS gba.backupcodes
// (
// id integer NOT NULL DEFAULT nextval('gba.backupcodes_id_seq'::regclass),
// user_id integer,
// code character varying(64) NOT NULL,
// used boolean NOT NULL DEFAULT false,
// CONSTRAINT backupcodes_user_id_foreign FOREIGN KEY (user_id)
// REFERENCES gba.accounts (id) MATCH SIMPLE
// ON UPDATE CASCADE
// ON DELETE CASCADE,
// CONSTRAINT backupcodes_pkey PRIMARY KEY (id)
// )
// CREATE INDEX IF NOT EXISTS backupcodes_uid
// ON gba.backupcodes USING btree
// (user_id ASC);