From d808661ebe3efb561fd4174750f68f9f81f4c6e9 Mon Sep 17 00:00:00 2001 From: Jonas Lochmann Date: Mon, 12 Sep 2022 02:00:00 +0200 Subject: [PATCH] Adjust app list column type at mysql --- ...0912-encrypted-applist-mysql-mediumblob.ts | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/database/migration/migrations/20220912-encrypted-applist-mysql-mediumblob.ts diff --git a/src/database/migration/migrations/20220912-encrypted-applist-mysql-mediumblob.ts b/src/database/migration/migrations/20220912-encrypted-applist-mysql-mediumblob.ts new file mode 100644 index 0000000..da60396 --- /dev/null +++ b/src/database/migration/migrations/20220912-encrypted-applist-mysql-mediumblob.ts @@ -0,0 +1,50 @@ +/* + * server component for the TimeLimit App + * Copyright (C) 2019 - 2022 Jonas Lochmann + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, version 3 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +import { QueryInterface, Sequelize, Transaction } from 'sequelize' + +export async function up (queryInterface: QueryInterface, sequelize: Sequelize) { + await sequelize.transaction({ + type: Transaction.TYPES.EXCLUSIVE + }, async (transaction) => { + const dialect = sequelize.getDialect() + const isMysql = dialect === 'mysql' || dialect === 'mariadb' + + if (isMysql) { + await sequelize.query( + 'ALTER TABLE `EncryptedAppLists` MODIFY `data` MEDIUMBLOB', + { transaction } + ) + } + }) +} + +export async function down (queryInterface: QueryInterface, sequelize: Sequelize) { + await sequelize.transaction({ + type: Transaction.TYPES.EXCLUSIVE + }, async (transaction) => { + const dialect = sequelize.getDialect() + const isMysql = dialect === 'mysql' || dialect === 'mariadb' + + if (isMysql) { + await sequelize.query( + 'ALTER TABLE `EncryptedAppLists` MODIFY `data` BLOB', + { transaction } + ) + } + }) +}