From 1cac5fd6a678eaeb92bd60541a52f41cfec66010 Mon Sep 17 00:00:00 2001 From: Guy Ben-Aharon Date: Sun, 1 Sep 2024 15:23:31 +0300 Subject: [PATCH] add old mysql support --- src/assets/mysql_5_7.png | Bin 0 -> 9867 bytes .../create-diagram-dialog-import-database.tsx | 2 +- .../import-metadata/scripts/mysql-script.ts | 25 ++++++++++-------- src/lib/domain/database-edition.ts | 15 ++++++++--- 4 files changed, 26 insertions(+), 16 deletions(-) create mode 100644 src/assets/mysql_5_7.png diff --git a/src/assets/mysql_5_7.png b/src/assets/mysql_5_7.png new file mode 100644 index 0000000000000000000000000000000000000000..75bcb13e69b73343b10e1e8316ca8b53c708c62b GIT binary patch literal 9867 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 literal 0 HcmV?d00001 diff --git a/src/dialogs/create-diagram-dialog/create-diagram-dialog-import-database.tsx b/src/dialogs/create-diagram-dialog/create-diagram-dialog-import-database.tsx index 381ece4e..4864f499 100644 --- a/src/dialogs/create-diagram-dialog/create-diagram-dialog-import-database.tsx +++ b/src/dialogs/create-diagram-dialog/create-diagram-dialog-import-database.tsx @@ -93,7 +93,7 @@ export const CreateDiagramDialogImportDatabase: React.FC< variant="outline" className="h-6 gap-1 p-0 px-2 shadow-none" > - + = { + // PostgreSQL [DatabaseEdition.POSTGRESQL_SUPABASE]: 'Supabase', [DatabaseEdition.POSTGRESQL_TIMESCALE]: 'Timescale', - [DatabaseEdition.MYSQL_5_7]: 'MySQL 5.7', + // MySQL + [DatabaseEdition.MYSQL_5_7]: 'V5.7', }; export const databaseEditionToImageMap: Record = { + // PostgreSQL [DatabaseEdition.POSTGRESQL_SUPABASE]: SupabaseImage, [DatabaseEdition.POSTGRESQL_TIMESCALE]: TimescaleImage, - [DatabaseEdition.MYSQL_5_7]: TimescaleImage, + // MySQL + [DatabaseEdition.MYSQL_5_7]: MySql5_7Image, }; export const databaseTypeToEditionMap: Record = @@ -29,7 +36,7 @@ export const databaseTypeToEditionMap: Record = DatabaseEdition.POSTGRESQL_SUPABASE, DatabaseEdition.POSTGRESQL_TIMESCALE, ], - [DatabaseType.MYSQL]: [], + [DatabaseType.MYSQL]: [DatabaseEdition.MYSQL_5_7], [DatabaseType.SQLITE]: [], [DatabaseType.GENERIC]: [], [DatabaseType.SQL_SERVER]: [],