From 3891b6c033a71ef2ffc44064180c1f146fff6ec4 Mon Sep 17 00:00:00 2001 From: 107 <107@DESKTOP-UP8U7M2> Date: Thu, 20 Mar 2025 09:56:06 +0700 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=20=D0=A4=D0=98=D0=9E?= =?UTF-8?q?=20=D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=B0=20=D0=B2=20=D0=B1=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Program.cs | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) 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) {