fix: migrations and discontinue sqlite
This commit is contained in:
parent
c4e547b288
commit
c35b99e0c4
6 changed files with 37 additions and 33 deletions
|
@ -1,4 +1,4 @@
|
|||
DB_TYPE = (mysql|sqlite|postgres) # default ist mysql
|
||||
DB_TYPE = (mysql|postgres) # default ist mysql
|
||||
|
||||
## BSP für mysql
|
||||
DB_PORT = 3306
|
||||
|
@ -14,9 +14,6 @@ DB_NAME = database_name
|
|||
DB_USERNAME = database_username
|
||||
DB_PASSWORD = database_password
|
||||
|
||||
## BSP für sqlite
|
||||
DB_HOST = filename.db
|
||||
|
||||
## Dev only
|
||||
SERVER_PORT = portnumber
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
import { dataSource } from "../../../data-source";
|
||||
import { setting } from "../../../entity/management/setting";
|
||||
import DatabaseActionException from "../../../exceptions/databaseActionException";
|
||||
import { StringHelper } from "../../../helpers/stringHelper";
|
||||
import { CreateOrUpdateSettingCommand, DeleteSettingCommand } from "./settingCommand";
|
||||
|
||||
export default abstract class SettingCommandHandler {
|
||||
|
@ -11,8 +10,6 @@ export default abstract class SettingCommandHandler {
|
|||
* @returns {Promise<string>}
|
||||
*/
|
||||
static async create(createSetting: CreateOrUpdateSettingCommand): Promise<string> {
|
||||
const token = StringHelper.random(32);
|
||||
|
||||
return await dataSource
|
||||
.createQueryBuilder()
|
||||
.insert()
|
||||
|
@ -25,7 +22,7 @@ export default abstract class SettingCommandHandler {
|
|||
.orUpdate(["value"], ["topic", "key"])
|
||||
.execute()
|
||||
.then((result) => {
|
||||
return token;
|
||||
return createSetting.value;
|
||||
})
|
||||
.catch((err) => {
|
||||
throw new DatabaseActionException("CREATE OR UPDATE", "setting", err);
|
||||
|
|
|
@ -54,6 +54,7 @@ import { NewsletterColumnType1744351418751 } from "./migrations/1744351418751-ne
|
|||
import { QueryUpdatedAt1744795756230 } from "./migrations/1744795756230-QueryUpdatedAt";
|
||||
import { SettingsFromEnv1745059495808 } from "./migrations/1745059495808-settingsFromEnv";
|
||||
import { MemberCreatedAt1746006549262 } from "./migrations/1746006549262-memberCreatedAt";
|
||||
import { UserLoginRoutine1746252454922 } from "./migrations/1746252454922-UserLoginRoutine";
|
||||
|
||||
const dataSource = new DataSource({
|
||||
type: DB_TYPE as any,
|
||||
|
@ -116,6 +117,7 @@ const dataSource = new DataSource({
|
|||
NewsletterColumnType1744351418751,
|
||||
QueryUpdatedAt1744795756230,
|
||||
SettingsFromEnv1745059495808,
|
||||
SettingsFromEnv_SET1745059495808,
|
||||
MemberCreatedAt1746006549262,
|
||||
],
|
||||
migrationsRun: true,
|
||||
|
|
|
@ -39,15 +39,11 @@ export const TRUST_PROXY = ((): Array<string> | string | boolean | number | null
|
|||
})();
|
||||
|
||||
export function configCheck() {
|
||||
if (DB_TYPE != "mysql" && DB_TYPE != "sqlite" && DB_TYPE != "postgres")
|
||||
throw new Error("set valid value to DB_TYPE (mysql|sqlite|postgres)");
|
||||
if ((DB_HOST == "" || typeof DB_HOST != "string") && DB_TYPE != "sqlite")
|
||||
throw new Error("set valid value to DB_HOST");
|
||||
if (DB_TYPE != "mysql" && DB_TYPE != "postgres") throw new Error("set valid value to DB_TYPE (mysql|postgres)");
|
||||
if (DB_HOST == "" || typeof DB_HOST != "string") throw new Error("set valid value to DB_HOST");
|
||||
if (DB_NAME == "" || typeof DB_NAME != "string") throw new Error("set valid value to DB_NAME");
|
||||
if ((DB_USERNAME == "" || typeof DB_USERNAME != "string") && DB_TYPE != "sqlite")
|
||||
throw new Error("set valid value to DB_USERNAME");
|
||||
if ((DB_PASSWORD == "" || typeof DB_PASSWORD != "string") && DB_TYPE != "sqlite")
|
||||
throw new Error("set valid value to DB_PASSWORD");
|
||||
if (DB_USERNAME == "" || typeof DB_USERNAME != "string") throw new Error("set valid value to DB_USERNAME");
|
||||
if (DB_PASSWORD == "" || typeof DB_PASSWORD != "string") throw new Error("set valid value to DB_PASSWORD");
|
||||
|
||||
if (isNaN(SERVER_PORT)) throw new Error("set valid numeric value to SERVER_PORT");
|
||||
|
||||
|
|
|
@ -8,23 +8,6 @@ export class SettingsFromEnv1745059495808 implements MigrationInterface {
|
|||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.createTable(setting_table, true, true, true);
|
||||
|
||||
//transfer settings of env to database
|
||||
await SettingHelper.setSetting("club.name", process.env.CLUB_NAME);
|
||||
await SettingHelper.setSetting("club.website", process.env.CLUB_WEBSITE);
|
||||
await SettingHelper.setSetting("session.jwt_expiration", process.env.JWT_EXPIRATION as ms.StringValue);
|
||||
await SettingHelper.setSetting("session.refresh_expiration", process.env.REFRESH_EXPIRATION as ms.StringValue);
|
||||
await SettingHelper.setSetting(
|
||||
"session.pwa_refresh_expiration",
|
||||
process.env.PWA_REFRESH_EXPIRATION as ms.StringValue
|
||||
);
|
||||
await SettingHelper.setSetting("mail.username", process.env.MAIL_USERNAME);
|
||||
await SettingHelper.setSetting("mail.password", process.env.MAIL_PASSWORD);
|
||||
await SettingHelper.setSetting("mail.host", process.env.MAIL_HOST);
|
||||
await SettingHelper.setSetting("mail.port", Number(process.env.MAIL_PORT));
|
||||
await SettingHelper.setSetting("mail.secure", Boolean(process.env.MAIL_SECURE));
|
||||
await SettingHelper.setSetting("backup.interval", Number(process.env.BACKUP_INTERVAL));
|
||||
await SettingHelper.setSetting("backup.copies", Number(process.env.BACKUP_COPIES));
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
|
|
29
src/migrations/1745059495808-settingsFromEnv_set.ts
Normal file
29
src/migrations/1745059495808-settingsFromEnv_set.ts
Normal file
|
@ -0,0 +1,29 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
import { setting_table } from "./baseSchemaTables/admin";
|
||||
import SettingHelper from "../helpers/settingsHelper";
|
||||
import ms from "ms";
|
||||
|
||||
export class SettingsFromEnv_SET1745059495808 implements MigrationInterface {
|
||||
name = "SettingsFromEnv_SET1745059495808";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
// transfer settings of env to database
|
||||
await SettingHelper.setSetting("club.name", process.env.CLUB_NAME);
|
||||
await SettingHelper.setSetting("club.website", process.env.CLUB_WEBSITE);
|
||||
await SettingHelper.setSetting("session.jwt_expiration", process.env.JWT_EXPIRATION as ms.StringValue);
|
||||
await SettingHelper.setSetting("session.refresh_expiration", process.env.REFRESH_EXPIRATION as ms.StringValue);
|
||||
await SettingHelper.setSetting(
|
||||
"session.pwa_refresh_expiration",
|
||||
process.env.PWA_REFRESH_EXPIRATION as ms.StringValue
|
||||
);
|
||||
await SettingHelper.setSetting("mail.username", process.env.MAIL_USERNAME);
|
||||
await SettingHelper.setSetting("mail.password", process.env.MAIL_PASSWORD);
|
||||
await SettingHelper.setSetting("mail.host", process.env.MAIL_HOST);
|
||||
await SettingHelper.setSetting("mail.port", Number(process.env.MAIL_PORT ?? "578"));
|
||||
await SettingHelper.setSetting("mail.secure", Boolean(process.env.MAIL_SECURE ?? "false"));
|
||||
await SettingHelper.setSetting("backup.interval", Number(process.env.BACKUP_INTERVAL ?? "1"));
|
||||
await SettingHelper.setSetting("backup.copies", Number(process.env.BACKUP_COPIES ?? "7"));
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {}
|
||||
}
|
Loading…
Add table
Reference in a new issue