From ffbc12b4818b30743abb96a3fc056e60b2643558 Mon Sep 17 00:00:00 2001 From: DiFFoZ <48765566+DiFFoZ@users.noreply.github.com> Date: Sat, 8 May 2021 20:13:45 +0700 Subject: [PATCH] add stupid check of table scheme :| --- Kits/Databases/MySqlKitDatabase.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Kits/Databases/MySqlKitDatabase.cs b/Kits/Databases/MySqlKitDatabase.cs index 9a6b4a1..2875c98 100644 --- a/Kits/Databases/MySqlKitDatabase.cs +++ b/Kits/Databases/MySqlKitDatabase.cs @@ -31,12 +31,22 @@ public async Task LoadDatabaseAsync() command.CommandText = $"SHOW TABLES LIKE '{TableName}';"; if (await command.ExecuteScalarAsync() != null) { + // FIXME: :| + command.CommandText = $"SELECT * FROM `{TableName}` LIMIT 0;"; + var reader = await command.ExecuteReaderAsync(); + var schema = await reader.GetColumnSchemaAsync(); + if (schema[0].ColumnName.Equals("id", StringComparison.OrdinalIgnoreCase)) + { + return; + } + command.CommandText = $@"ALTER TABLE `{TableName}` - ADD COLUMN IF NOT EXISTS `Id` INT(11) NOT NULL AUTO_INCREMENT FIRST, + ADD COLUMN `Id` INT(11) NOT NULL AUTO_INCREMENT FIRST, DROP PRIMARY KEY, ADD PRIMARY KEY (`Id`);"; await command.ExecuteNonQueryAsync(); + return; }