1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/AhooWang-SmartCode

Клонировать/Скачать
README.md 9.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 16:04 1cf91e9

API/Startup.cshtml, Output: {Path: 'src/{{Project.Module}}.API',Name: 'Startup',Extension: '.cs'}, {Key: "API/APIException.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Exceptions',Name: 'APIException',Extension: '.cs'}}, {Key: "API/GlobalExceptionFilter.cshtml",Output: {PathPath: 'src/{{Project.Module}}.API/Filters',Name: 'GlobalExceptionFilter',Extension: '.cs'}}, {Key: "API/GlobalValidateModelFilter.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Filters',Name: 'GlobalValidateModelFilter',Extension: '.cs'}}, {Key: "API/QueryRequest.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Messages',Name: 'QueryRequest',Extension: '.cs'}}, {Key: "API/QueryByPageRequest.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Messages',Name: 'QueryByPageRequest',Extension: '.cs'}}, {Key: "API/ResponseMessage.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Messages',Name: 'ResponseMessage',Extension: '.cs'}}, {Key: "API/QueryResponse.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Messages',Name: 'QueryResponse',Extension: '.cs'}}, {Key: "API/QueryByPageResponse.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Messages',Name: 'QueryByPageResponse',Extension: '.cs'}}, {Key: "API/ResponseMessage.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Messages',Name: 'ResponseMessage',Extension: '.cs'}}, {Key: "SqlMapConfig.cshtml",Output: {Path: 'src/{{Project.Module}}.Repository',Name: 'SmartSqlMapConfig',Extension: '.xml'}}, {Key: "SqlMapConfig.cshtml",Output: {Path: 'src/{{Project.Module}}.Repository',Name: 'SmartSqlMapConfig.Development',Extension: '.xml'}}]

Entity: Type: Table Module: Entity TemplateEngine: Path: Entity.cshtml Output: Path: 'src/{{Project.Module}}.{{Build.Module}}' Name: '{{Items.CurrentTable.ConvertedName}}' Extension: '.cs'

Repository: Type: Table Module: Repository TemplateEngine: Path: Repository.cshtml IgnoreNoPKTable: true IgnoreView: true Output: Path: 'src/{{Project.Module}}.{{Build.Module}}' Name: 'I{{Items.CurrentTable.ConvertedName}}Repository' Extension: .cs

Service: Type: Table Module: Service TemplateEngine: Path: Service.cshtml IgnoreNoPKTable: true IgnoreView: true Output: Path: 'src/{{Project.Module}}.{{Build.Module}}' Name: '{{Items.CurrentTable.ConvertedName}}Service' Extension: .cs

APIController: Type: Table Module: API TemplateEngine: Path: API/APIController.cshtml IgnoreNoPKTable: true IgnoreView: true Output: Path: 'src/{{Project.Module}}.{{Build.Module}}/Controllers' Name: '{{Items.CurrentTable.ConvertedName}}Controller' Extension: .cs

SqlMap: Type: Table TemplateEngine: Path: SqlMap.cshtml Output: Path: 'src/{{Project.Module}}Repository/Maps' Name: '{{Items.CurrentTable.ConvertedName}}' Extension: .xml IgnoreNoPKTable: true IgnoreView: true ### Конфигурации проекта

Параметр Описание
Project.Output.Path Путь к папке для публикации

Выполнение

Запуск

Тип: Процесс
Параметры: 
  Имя файла: powershell
  Рабочая папка: '{{Project.Output.Path}}\publish'
  Создать окно: false
  Перенаправить стандартный вывод: false
  Перенаправить стандартную ошибку: false
  Дождаться завершения: false
  Запись строк: ['dotnet {{Project.Module}}.API.dll']

RunChrome

Тип: Процесс
Параметры:
  Имя файла: C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
  Создать окно: false
  Аргументы: http://localhost:8008/swagger

Обзор параметров файла сборки

Параметр Описание
Module Корневой модуль
Author Автор
DataSource Источник данных
Language Язык: CSharp, Java и т. д.
TemplateEngine Шаблонизатор: встроенные Razor или Handlebars
Output Вывод
Build Задачи сборки

DataSource — источник данных, Name:DbTable

Атрибут Name:DbTable использует плагин DbTableSource в качестве источника данных.

DbTableSource.Parameters принимает следующие три параметра:

Параметр Описание
DbName Имя базы данных
DbProvider Поставщик данных: MySql, MariaDB, PostgreSql, SqlServer, Oracle, SQLite
ConnectionString Строка подключения

Output — вывод

Параметр Описание
Тип Файл
Путь Папка вывода
Имя Имя файла
Расширение Расширение
Режим Режим вывода, по умолчанию Incre. Incre: инкрементное создание, если файл существует, то игнорируется. Full: полное создание, если существует, то перезаписывается

Build — задачи сборки

Параметр Описание
Тип Тип сборки, Clear: используется для очистки папок и файлов, Project: используется для сборки одного файла, например, решения или проекта, MultiTemplate: многошаблонная сборка нескольких файлов, Table: используется для создания файлов на основе таблиц, таких как Entity и Repository, Process: запуск нового процесса
Модуль Модуль сборки
Шаблонизатор Шаблонизатор, опционально, по умолчанию используется шаблонизатор корневого модуля
Шаблон Файл шаблона
Вывод Вывод
IgnoreNoPKTable Игнорировать таблицы без первичного ключа
IgnoreView Игнорировать представления
IncludeTables Включить имена таблиц
IgnoreTables Игнорировать имена таблиц
NamingConverter Конвертер имён
Параметры Пользовательские параметры сборки

NamingConverter — конвертер имён

Атрибут Описание
Тип Таблица/представление/столбец
Tokenizer Токенизатор
Конвертер Конвертация: Camel/Pascal/None
NamingConverter.Tokenizer — токенизатор
Атрибут Описание
Тип По умолчанию
Параметры.IgnorePrefix Игнорируемые префиксы
Параметры.Delimiter Разделитель
Параметры.UppercaseSplit Использовать верхний регистр для разделения, по умолчанию true

Как внести вклад в шаблоны

Чтобы привлечь больше людей к созданию шаблонов SmartCode, существуют следующие правила для шаблонов:

  1. Автор создаёт новую папку в src/SmartCode.Generator/RazorTemplates/Contributions с именем папки, совпадающим с его английским именем.
  2. Шаблоны размещаются в папке автора.
  3. Папка автора должна содержать файл README.md, описывающий назначение шаблона и способ его использования.
  4. Отправляется PR.

SmartCode.ETL (Extract-Transform-Load) (SmartCode.ETL-Doc)

Конфигурация ETL-сборки

Автор: Ahoo Wang
Источник данных:
  Название: Extract
  Параметры:
    Поставщик данных: SqlServer
    Строка подключения: Data Source=.;Initial Catalog=SmartSqlDB;Integrated Security=True
    Запрос: SELECT [Id],[UserName],[Pwd],[Status],[LastLoginTime],[CreationTime],[Deleted] FROM [T_User] Where Id>@LastMaxId And CreationTime>@LastQueryTime
    Столбец первичного ключа: Id

Параметры:
  ETLCode: SmartCode.ETL.Test
  ETLRepository: PG
  
Сборка:

  Преобразование:
    Тип: Преобразование
    Параметры:
      Скрипт: Load2PostgreSql.cshtml

  Load2PostgreSql:
    Тип: Загрузка
    Параметры:
      Поставщик данных: PostgreSql
      Строка подключения: Server=localhost;Port=5432;User Id=postgres;Password=SmartSql; Database=smartsql_db;
      Таблица: t_user
      Сопоставление столбцов: [{Столбец: UserName,Сопоставление: user_name}
      ,{Столбец: Pwd,Сопоставление: pwd}
      ,{Столбец: Status,Сопоставление: status}
      ,{Столбец: LastLoginTime,Сопоставление: lastlogintime}
      ,{Столбец: CreationTime,Сопоставление: creationtime}
      ,{Столбец: Deleted,Сопоставление: deleted}]
      Предварительная команда:
      Последующая команда:

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/AhooWang-SmartCode.git
git@api.gitlife.ru:oschina-mirror/AhooWang-SmartCode.git
oschina-mirror
AhooWang-SmartCode
AhooWang-SmartCode
master