https://github.com/notacat1/t4-sql-generator-project
This project provides a flexible T4 (Text Template Transformation Toolkit) template for dynamically generating SQL queries. The solution allows developers to quickly produce standardized SQL scripts with configurable table and field structures.
https://github.com/notacat1/t4-sql-generator-project
automation code-generation csharp database dynamic-programming script-generator sql t4 template
Last synced: about 1 month ago
JSON representation
This project provides a flexible T4 (Text Template Transformation Toolkit) template for dynamically generating SQL queries. The solution allows developers to quickly produce standardized SQL scripts with configurable table and field structures.
- Host: GitHub
- URL: https://github.com/notacat1/t4-sql-generator-project
- Owner: NotACat1
- License: mit
- Created: 2025-04-15T10:51:00.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-15T11:02:43.000Z (about 1 year ago)
- Last Synced: 2025-12-27T07:51:24.341Z (5 months ago)
- Topics: automation, code-generation, csharp, database, dynamic-programming, script-generator, sql, t4, template
- Homepage:
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# T4-SQL-Generator-Project


## Описание проекта
Этот проект использует `Text Template Transformation Toolkit` (T4) для автоматической генерации `SQL-запросов` на основе заданных параметров. Шаблон создает `SQL-скрипт` с множеством `SELECT-запросов`, используя автоматически сгенерированные имена таблиц и полей.
## Особенности
- 🚀 Динамическая генерация `SQL-запросов`
- ⚙️ Настраиваемые параметры через константы
- ✅ Встроенная валидация входных данных
- 📝 Автоматическая документация в выходном файле
- 🧩 Модульная структура с вспомогательным классом
## Технические детали
- **Тип шаблона**: T4 Runtime template (`.tt` файл)
- **Выходной формат**: SQL скрипт (`.sql` файл)
- **Язык логики**: C#
## Быстрый старт
1. Клонируйте репозиторий
2. Откройте файл `SqlGenerator.tt`
3. Измените параметры генерации:
```csharp
const int N = 3; // Количество таблиц
const int M = 5; // Количество доступных полей
```
4. Сохраните файл - автоматически сгенерируется SQL-скрипт
## Пример вывода
```sql
-- Запрос 1 из 3 --
SELECT Field_1
FROM Table_1;
-- Запрос 2 из 3 --
SELECT Field_2
FROM Table_2;
-- Запрос 3 из 3 --
SELECT Field_3
FROM Table_3;
```
## Структура проекта
```
T4-SQL-Generator/
│
├── SqlGenerator.tt # Основной T4 шаблон
├── SqlGenerator.sql # Автогенерируемый выходной файл
└── README.md # Данный файл документации
```
## Настройка
Основные параметры для настройки находятся в начале T4-шаблона:
```csharp
// КОНФИГУРАЦИЯ ГЕНЕРАТОРА
const int N = 3; // Количество таблиц
const int M = 5; // Количество полей
```
## Валидация
Шаблон включает проверку:
```csharp
if (tablesCount > fieldsCount)
{
throw new ArgumentException(
$"Ошибка: Количество таблиц ({tablesCount}) " +
$"превышает количество полей ({fieldsCount})");
}
```
## Лицензия
Этот проект распространяется под лицензией MIT. Подробнее см. в файле [LICENSE](LICENSE).