Example #1
0
 /// <summary>
 /// Инициализация таблиц базы данных
 /// </summary>
 /// <param name="db"></param>
 internal static void InitSchemas(this DatabaseSqlite db)
 {
     if (!db.IsConnected())
     {
         db.Connect();
     }
     foreach (var table in db.tables_schemas)
     {
         bool isupdate = false;
         if (CheckTable(db, table.TableName))
         {
             IEnumerable <SchemasColumn> dif_columns = new SchemasColumn[0];
             if (!TryCheckColumns(db, table.TableName, table.Columns, out dif_columns))
             {
                 foreach (var column in dif_columns)
                 {
                     CreatColumn(db, table.TableName, column);
                 }
                 isupdate = true;
             }
             if (isupdate && !string.IsNullOrWhiteSpace(table.UpdateQuery))
             {
                 db.ExecuteNonQuery(table.UpdateQuery);
             }
         }
         else
         {
             CreatTable(db, table);
         }
     }
 }
Example #2
0
 /// <summary>
 /// Создание столбца
 /// </summary>
 /// <param name="db"></param>
 /// <param name="table_name"></param>
 /// <param name="column"></param>
 /// <returns></returns>
 internal static bool CreatColumn(this DatabaseSqlite db, string table_name, SchemasColumn column)
 {
     if (!db.IsConnected())
     {
         db.Connect();
     }
     if (db.IsConnected())
     {
         string query = $"ALTER TABLE {table_name} ADD COLUMN {column.Name} {column.ColumnType}";
         if (column.DefaultContent != null)
         {
             query += $" DEFAULT ('{column.DefaultContent.ToString().Replace("'", "").Replace("\\", "")}')";
         }
         return(db.ExecuteNonQuery(query));
     }
     return(false);
 }