mirror of
https://github.com/pacnpal/markov-discord.git
synced 2025-12-20 03:01:04 -05:00
Add migration for first run
This commit is contained in:
@@ -31,5 +31,5 @@ module.exports = {
|
||||
}
|
||||
}
|
||||
},
|
||||
ignorePatterns: ['dist/**', 'node_modules/**', '.eslintrc.js']
|
||||
ignorePatterns: ['dist/**', 'node_modules/**', '.eslintrc.js', 'src/migration/**']
|
||||
}
|
||||
@@ -26,7 +26,7 @@ const prodConfig = {
|
||||
enableWAL: true,
|
||||
entities: ['dist/entity/**/*.js'],
|
||||
migrations: ['dist/migration/**/*.js'],
|
||||
migrationsRun: false,
|
||||
migrationsRun: true,
|
||||
subscribers: ['dist/subscriber/**/*.js'],
|
||||
cli: {
|
||||
entitiesDir: 'dist/entity',
|
||||
|
||||
14
package-lock.json
generated
14
package-lock.json
generated
@@ -22,7 +22,7 @@
|
||||
"erlpack": "github:discord/erlpack",
|
||||
"fs-extra": "^10.0.0",
|
||||
"json5": "^2.2.0",
|
||||
"markov-strings-db": "^4.0.0",
|
||||
"markov-strings-db": "^4.0.1",
|
||||
"pino": "^7.5.1",
|
||||
"pino-pretty": "^7.3.0",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
@@ -2667,9 +2667,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/markov-strings-db": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/markov-strings-db/-/markov-strings-db-4.0.0.tgz",
|
||||
"integrity": "sha512-6k4ftaBOBW+uw4XtzKSeulcwiMjj1JNcoAOvNZub4BEOiw6REOXoHYP48E0nZqFNUG6FsK41ZvLw0f1B8Bvl7g==",
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/markov-strings-db/-/markov-strings-db-4.0.1.tgz",
|
||||
"integrity": "sha512-i7GANb+/6Ppm8DAEO6jp3dxso28Z1LQRW2B+KgJFgvN0dRS9L9r5Dh5zNwW3txye8AYIFhPbXo5zdmP1UknXMQ==",
|
||||
"dependencies": {
|
||||
"reflect-metadata": "^0.1.13",
|
||||
"typeorm": "^0.2.41"
|
||||
@@ -6407,9 +6407,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"markov-strings-db": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/markov-strings-db/-/markov-strings-db-4.0.0.tgz",
|
||||
"integrity": "sha512-6k4ftaBOBW+uw4XtzKSeulcwiMjj1JNcoAOvNZub4BEOiw6REOXoHYP48E0nZqFNUG6FsK41ZvLw0f1B8Bvl7g==",
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/markov-strings-db/-/markov-strings-db-4.0.1.tgz",
|
||||
"integrity": "sha512-i7GANb+/6Ppm8DAEO6jp3dxso28Z1LQRW2B+KgJFgvN0dRS9L9r5Dh5zNwW3txye8AYIFhPbXo5zdmP1UknXMQ==",
|
||||
"requires": {
|
||||
"reflect-metadata": "^0.1.13",
|
||||
"typeorm": "^0.2.41"
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
"build": "rimraf dist && tsc",
|
||||
"lint": "tsc --noEmit && eslint **/*.ts *.js",
|
||||
"docker:build": "docker build . -t charlocharlie/markov-discord:latest --target deploy",
|
||||
"docker:run": "docker run --rm -ti -v $(pwd)/config:/usr/app/config charlocharlie/markov-discord:latest"
|
||||
"docker:run": "docker run --rm -ti -v $(pwd)/config:/usr/app/config charlocharlie/markov-discord:latest",
|
||||
"typeorm": "node --require ts-node/register ./node_modules/typeorm/cli.js"
|
||||
},
|
||||
"repository": "https://github.com/claabs/markov-discord.git",
|
||||
"keywords": [
|
||||
@@ -42,7 +43,7 @@
|
||||
"erlpack": "github:discord/erlpack",
|
||||
"fs-extra": "^10.0.0",
|
||||
"json5": "^2.2.0",
|
||||
"markov-strings-db": "^4.0.0",
|
||||
"markov-strings-db": "^4.0.1",
|
||||
"pino": "^7.5.1",
|
||||
"pino-pretty": "^7.3.0",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
|
||||
24
src/migration/1640838214672-CreateTables.ts
Normal file
24
src/migration/1640838214672-CreateTables.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class CreateTables1640838214672 implements MigrationInterface {
|
||||
name = 'CreateTables1640838214672'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`CREATE TABLE "guild" ("id" text PRIMARY KEY NOT NULL)`);
|
||||
await queryRunner.query(`CREATE TABLE "channel" ("id" text PRIMARY KEY NOT NULL, "listen" boolean NOT NULL DEFAULT (0), "guildId" text)`);
|
||||
await queryRunner.query(`CREATE TABLE "temporary_channel" ("id" text PRIMARY KEY NOT NULL, "listen" boolean NOT NULL DEFAULT (0), "guildId" text, CONSTRAINT "FK_58d968d578e6279e2cc884db403" FOREIGN KEY ("guildId") REFERENCES "guild" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION)`);
|
||||
await queryRunner.query(`INSERT INTO "temporary_channel"("id", "listen", "guildId") SELECT "id", "listen", "guildId" FROM "channel"`);
|
||||
await queryRunner.query(`DROP TABLE "channel"`);
|
||||
await queryRunner.query(`ALTER TABLE "temporary_channel" RENAME TO "channel"`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "channel" RENAME TO "temporary_channel"`);
|
||||
await queryRunner.query(`CREATE TABLE "channel" ("id" text PRIMARY KEY NOT NULL, "listen" boolean NOT NULL DEFAULT (0), "guildId" text)`);
|
||||
await queryRunner.query(`INSERT INTO "channel"("id", "listen", "guildId") SELECT "id", "listen", "guildId" FROM "temporary_channel"`);
|
||||
await queryRunner.query(`DROP TABLE "temporary_channel"`);
|
||||
await queryRunner.query(`DROP TABLE "channel"`);
|
||||
await queryRunner.query(`DROP TABLE "guild"`);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user