DbTable
static class · пространство имён z3n7 · исходник Db/DbExtencions.cs
public static class DbTable
Создание и просмотр таблиц базы проекта.
Методы
EnsureTable
public static void EnsureTable(this IZennoPosterProjectModel project, TableSchema schema)
Метод расширения для IZennoPosterProjectModel. исходник
Создаёт таблицу, описанную в schema, если её нет.
| Параметр | Описание |
|---|---|
schema |
Имя таблицы и колонки, например DbSchema.Process. |
PrepareProjectTable
public static void PrepareProjectTable(this IZennoPosterProjectModel project, string[] projectColumns, string tblName = null, bool log = false, bool prune = false, bool rearrange = false)
Метод расширения для IZennoPosterProjectModel. исходник
Вариант PrepareProjectTable(List<string>, …) для массива.
public static void PrepareProjectTable(this IZennoPosterProjectModel project, List<string> projectColumns = null, string tblName = null, bool log = false, bool prune = false, bool rearrange = false)
Метод расширения для IZennoPosterProjectModel. исходник
Создаёт таблицу с раскладкой TblForProject при необходимости и добавляет недостающие колонки.
| Параметр | Описание |
|---|---|
projectColumns |
Дополнительные колонки. |
tblName |
Таблица; по умолчанию переменная projectTable. |
log |
Писать запрос и его результат в лог проекта. |
prune |
Заодно удалить колонки, которых нет в раскладке. |
rearrange |
Заодно переставить колонки в порядке раскладки. |
public static void PrepareProjectTable(this IZennoPosterProjectModel project, Dictionary<string, string> tableStructure, string tblName = null, bool log = false, bool prune = false, bool rearrange = false)
Метод расширения для IZennoPosterProjectModel. исходник
Создаёт таблицу при необходимости и добавляет недостающие колонки.
| Параметр | Описание |
|---|---|
tableStructure |
Колонка → тип SQL. |
tblName |
Таблица; по умолчанию переменная projectTable. |
log |
Писать запрос и его результат в лог проекта. |
prune |
Заодно удалить колонки, которых нет в tableStructure. |
rearrange |
Заодно переставить колонки в порядке tableStructure. |
TblAdd
public static void TblAdd(this IZennoPosterProjectModel project, Dictionary<string, string> tableStructure, string tblName, bool log = false)
Метод расширения для IZennoPosterProjectModel. исходник
Создаёт таблицу, если её нет. На PostgreSQL INTEGER PRIMARY KEY AUTOINCREMENT превращается в SERIAL PRIMARY KEY.
| Параметр | Описание |
|---|---|
tableStructure |
Колонка → тип SQL. |
tblName |
Таблица; может быть schema.table. |
log |
Писать запрос и его результат в лог проекта. |
TblColumns
public static List<string> TblColumns(this IZennoPosterProjectModel project, string tblName, bool log = false)
Метод расширения для IZennoPosterProjectModel. исходник
Имена колонок таблицы.
| Параметр | Описание |
|---|---|
tblName |
Таблица; на PostgreSQL может быть schema.table. |
log |
Писать запрос и его результат в лог проекта. |
TblExist
public static bool TblExist(this IZennoPosterProjectModel project, string tblName, bool log = false)
Метод расширения для IZennoPosterProjectModel. исходник
Проверяет, есть ли таблица.
| Параметр | Описание |
|---|---|
tblName |
Таблица; на PostgreSQL может быть schema.table (схема по умолчанию public). |
log |
Писать запрос и его результат в лог проекта. |
TblForProject
public static Dictionary<string, string> TblForProject(this IZennoPosterProjectModel project, List<string> projectColumns = null, string defaultType = "TEXT DEFAULT ''")
Метод расширения для IZennoPosterProjectModel. исходник
Строит раскладку таблицы: id INTEGER PRIMARY KEY AUTOINCREMENT, заданные колонки и по колонке на каждый элемент переменной cfgToDo (через запятую).
| Параметр | Описание |
|---|---|
projectColumns |
Дополнительные колонки. |
defaultType |
Тип SQL для всех колонок, кроме id. |
TblList
public static List<string> TblList(this IZennoPosterProjectModel project, bool log = false, string schema = "public")
Метод расширения для IZennoPosterProjectModel. исходник
Имена всех таблиц по алфавиту.
| Параметр | Описание |
|---|---|
log |
Писать запрос и его результат в лог проекта. |
schema |
Схема PostgreSQL. |
TblPrepareDefault
public static void TblPrepareDefault(this IZennoPosterProjectModel project, bool log = false)
Метод расширения для IZennoPosterProjectModel. исходник
Создаёт таблицу проекта (переменная projectTable) с раскладкой TblForProject и добавляет недостающие колонки.
| Параметр | Описание |
|---|---|
log |
Писать запрос и его результат в лог проекта. |