diff --git a/Program.cs b/Program.cs index 760412c..d499a12 100644 --- a/Program.cs +++ b/Program.cs @@ -1351,13 +1351,34 @@ class Program await connection.OpenAsync(); var command = connection.CreateCommand(); command.CommandText = @" - CREATE TABLE IF NOT EXISTS Admins ( - Id INTEGER PRIMARY KEY AUTOINCREMENT, - ChatId INTEGER NOT NULL UNIQUE, - FullName TEXT NOT NULL - );"; + CREATE TABLE IF NOT EXISTS Admins ( + Id INTEGER PRIMARY KEY AUTOINCREMENT, + ChatId INTEGER NOT NULL UNIQUE, + FullName TEXT NOT NULL + );"; await command.ExecuteNonQueryAsync(); Log.Information("Таблица Admins успешно создана (если её не было)."); + + // Проверяем наличие столбца FullName + command.CommandText = "PRAGMA table_info(Admins);"; + var tableInfo = await command.ExecuteReaderAsync(); + bool fullNameColumnExists = false; + + while (await tableInfo.ReadAsync()) + { + if (tableInfo["name"].ToString() == "FullName") + { + fullNameColumnExists = true; + break; + } + } + + if (!fullNameColumnExists) + { + command.CommandText = "ALTER TABLE Admins ADD COLUMN FullName TEXT NOT NULL DEFAULT '';"; + await command.ExecuteNonQueryAsync(); + Log.Information("Столбец FullName добавлен в таблицу Admins."); + } } } catch (Exception ex) @@ -1367,6 +1388,7 @@ class Program } + // Метод для сохранения администратора в базу данных private static async Task SaveAdminToDatabase(long chatId, string fullName) {