Skip to content

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.

License

Notifications You must be signed in to change notification settings

NotACat1/T4-SQL-Generator-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

T4-SQL-Generator-Project

T4 Template SQL Generator

Описание проекта

Этот проект использует Text Template Transformation Toolkit (T4) для автоматической генерации SQL-запросов на основе заданных параметров. Шаблон создает SQL-скрипт с множеством SELECT-запросов, используя автоматически сгенерированные имена таблиц и полей.

Особенности

  • 🚀 Динамическая генерация SQL-запросов
  • ⚙️ Настраиваемые параметры через константы
  • ✅ Встроенная валидация входных данных
  • 📝 Автоматическая документация в выходном файле
  • 🧩 Модульная структура с вспомогательным классом

Технические детали

  • Тип шаблона: T4 Runtime template (.tt файл)
  • Выходной формат: SQL скрипт (.sql файл)
  • Язык логики: C#

Быстрый старт

  1. Клонируйте репозиторий
  2. Откройте файл SqlGenerator.tt
  3. Измените параметры генерации:
const int N = 3;  // Количество таблиц
const int M = 5;  // Количество доступных полей
  1. Сохраните файл - автоматически сгенерируется 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-шаблона:

// КОНФИГУРАЦИЯ ГЕНЕРАТОРА
const int N = 3; // Количество таблиц
const int M = 5; // Количество полей

Валидация

Шаблон включает проверку:

if (tablesCount > fieldsCount)
{
    throw new ArgumentException(
        $"Ошибка: Количество таблиц ({tablesCount}) " +
        $"превышает количество полей ({fieldsCount})");
}

Лицензия

Этот проект распространяется под лицензией MIT. Подробнее см. в файле LICENSE.

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published