import { MigrationInterface, QueryRunner, Table, TableForeignKey, TableIndex } from "typeorm"; export class CreateUsers1625814801417 implements MigrationInterface { public async up(queryRunner: QueryRunner): Promise { await queryRunner.createTable(new Table({ name: "users", columns: [ { name: "id", type: "uuid", isGenerated: true, default: "gen_random_uuid()", isPrimary: true }, { name: "first_name", type: "varchar", isNullable: true }, { name: "last_name", type: "varchar", isNullable: true }, { name: "email", type: "varchar", isUnique: true, isNullable: true }, { name: "password_digest", type: "varchar", isNullable: true }, { name: "invitation_token", type: "varchar", isNullable: true }, { name: "forgot_password_token", type: "varchar", isNullable: true }, { name: "organization_id", type: "uuid", isNullable: true }, { name: "created_at", type: "timestamp", isNullable: true, default: "now()" }, { name: "updated_at", type: "timestamp", isNullable: true, default: "now()" } ] }), true) await queryRunner.createForeignKey("users", new TableForeignKey({ columnNames: ["organization_id"], referencedColumnNames: ["id"], referencedTableName: "organizations", onDelete: "CASCADE" })); } public async down(queryRunner: QueryRunner): Promise { } }