zappyzep/backend/src/migrations/1544877081073-CreateSlowmodeTables.ts

71 lines
1.7 KiB
TypeScript
Raw Normal View History

2018-12-15 17:04:04 +02:00
import { MigrationInterface, QueryRunner, Table } from "typeorm";
export class CreateSlowmodeTables1544877081073 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.createTable(
new Table({
name: "slowmode_channels",
columns: [
{
name: "guild_id",
type: "bigint",
unsigned: true,
2018-12-15 17:04:04 +02:00
},
{
name: "channel_id",
type: "bigint",
unsigned: true,
2018-12-15 17:04:04 +02:00
},
{
name: "slowmode_seconds",
type: "int",
unsigned: true,
},
2018-12-15 17:04:04 +02:00
],
indices: [],
}),
2018-12-15 17:04:04 +02:00
);
await queryRunner.createPrimaryKey("slowmode_channels", ["guild_id", "channel_id"]);
await queryRunner.createTable(
new Table({
name: "slowmode_users",
columns: [
{
name: "guild_id",
type: "bigint",
unsigned: true,
2018-12-15 17:04:04 +02:00
},
{
name: "channel_id",
type: "bigint",
unsigned: true,
2018-12-15 17:04:04 +02:00
},
{
name: "user_id",
type: "bigint",
unsigned: true,
2018-12-15 17:04:04 +02:00
},
{
name: "expires_at",
type: "datetime",
},
2018-12-15 17:04:04 +02:00
],
indices: [
{
columnNames: ["expires_at"],
},
],
}),
2018-12-15 17:04:04 +02:00
);
await queryRunner.createPrimaryKey("slowmode_users", ["guild_id", "channel_id", "user_id"]);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await Promise.all([
queryRunner.dropTable("slowmode_channels", true),
queryRunner.dropTable("slowmode_users", true),
]);
2018-12-15 17:04:04 +02:00
}
}