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

OSCHINA-MIRROR/cwmchen-kcg

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

KCG: Kaadog Code Generator

Что он может делать

​ KCG поддерживает структуры данных центров обработки данных MySQL, Oracle, DB2, Microsoft SQL Server, GaussDB, openGauss и PostgreSQL и использует пользовательские шаблоны Freemarker для генерации желаемого результата, такого как:

  • Код на разных языках программирования (Java, Python, C, C++, C#, .NET, PHP и т. д.)
  • Статические HTML-файлы
  • Заполненные файлы XML, YAML, Properties
  • Другие типы файлов результатов

Поддержка центров обработки данных

MySQL Oracle DB2 Microsoft SQL Server GaussDB openGauss PostgreSQL
Поддержка Поддержка В планах Поддержка Поддержка Поддержка Поддержка

Основные функции KCG

  • Поддержка нескольких источников данных Можно указать несколько источников данных из разных центров обработки данных.

  • Поддержка нескольких путей к шаблонам Поддерживаются папки, jar-файлы, zip-файлы и gz-файлы.

  • Глобальные настраиваемые свойства Если каждый шаблон требует использования одинаковых свойств, можно использовать глобальные свойства, которые будут переданы в каждый шаблон и доступны через синтаксис Freemarker.

  • Конфигурация функций преобразования После получения структуры таблицы можно настроить необходимые встроенные функции для преобразования имён таблиц, имён полей и других операций. Если встроенные функции не удовлетворяют требованиям, можно создать собственные функции.

  • Функция загрузки сгенерированных файлов При выполнении генерации можно использовать функцию загрузки, которая предоставит сжатый файл для скачивания на локальный компьютер.

Начало работы

Шаг 1: Получение инструмента

​ KCG — это проект Spring Boot, требующий среды Maven 3.5+ и JDK 17+.

Способ 1

​ Перейдите на страницу загрузки, 【Скачать】, выберите нужную версию, загрузите соответствующий сжатый файл и перейдите к шагу 2 после распаковки.

Способ 2

​ Загрузите исходный код и скомпилируйте его самостоятельно. После компиляции перейдите к шагу 2.

Windows: команды компиляции

​ Команда выполнения в командной строке: mvn clean package install & mvn -f kcg-dashboard/pom.xml -P release clean package install -U

​ Или команда PowerShell: mvn clean package install ; mvn -f kcg-dashboard/pom.xml -P release clean package install -U

Linux: команды компиляции

mvn clean package install && mvn -f kcg-dashboard/pom.xml -P release clean package install -U

Загрузите исходный код, выполните команду компиляции Maven и соберите пакет. Требуется среда Maven 3.5+, JDK 1.8+.

Шаг 2: Настройка инструмента

​ KCG — это Spring Boot проект, использующий файлы YAML для настройки запуска инструмента. Конфигурацию можно настроить в соответствии с потребностями, подробности см. в разделе [Соответствующая конфигурация](#Соответствующая конфигурация).

Шаг 3: Настройка шаблонов

​ У KCG есть встроенные шаблоны, которые можно использовать или модифицировать под свои нужды. Также можно создавать собственные шаблоны. Для справки по синтаксису шаблонов обратитесь к онлайн-руководству FreeMarker.

После завершения редактирования шаблоны должны быть помещены в папку, указанную параметром kaadog.kcg.generator.template.folder-path.

Шаг 4: Запуск проекта

Метод 1

​ Распакуйте выпущенную версию и запустите её напрямую.

  • Windows: дважды щёлкните или запустите от имени администратора bin/run.cmd
  • Linux: запустите bin/run.sh

Метод 2

​ Загрузив исходный код, скомпилируйте и упакуйте его с помощью Maven. Затем перейдите в каталог kcg-dashboard/target/kcg-dashboard/kcg-dashboard.

  • Windows: дважды щёлкните или запустите от имени администратора bin/run.cmd
  • Linux: запустите bin/run.sh

Шаг 5: Доступ к сгенерированным файлам

​ Адрес панели инструментов: http://127.0.0.1:1666/index.html

Соответствующая конфигурация

Конфигурация осуществляется с использованием YAML. Пример формата:

kaadog:
  kcg:
    key: value

Настройки панели инструментов используют префикс kaadog.kcg.dashboard, основные параметры конфигурации:

Параметр Описание Значение по умолчанию
api-server-path Адрес службы http://127.0.0.1:1666
file-name Имя файла при загрузке fileName

Параметры генератора используют префикс kaadog.kcg.generator, основные параметры конфигурации:

kaadog.kcg.generator.template — параметры, связанные с шаблонами.

Параметр Описание Значение по умолчанию
folder-path Путь к папке с шаблонами, можно использовать абсолютный путь, относительный путь, classpath:, jar-файл, zip-файл, gz-файл
1. Абсолютный путь — доступный для программы диск
2. Относительный путь — обычно используется форма ../../, относительно каталога запуска программы
3. classpath: — доступные для программы пути классов, например: classpath:template, получает все файлы в папке template текущего класса
4. jar-файл — указывает адрес jar-файла, можно использовать ! для указания папки шаблонов, например: xxx.jar!template, получить папку шаблонов в текущем jar-файле
5. zip-файл и gz-файл аналогичны jar-файлу
file-suffix Суффикс шаблона, файлы без суффикса не будут прочитаны, а будут скопированы в выходную папку .flt
file-encoding Кодировка файла шаблона UTF-8
out-root-folder Выходная папка для файлов (папка должна существовать) ../out
temp-folder-path Путь для распаковки при использовании jar, zip (каталог должен существовать) Пользовательский временный каталог+/kcg/template
temp-file-retain-day Срок хранения временных шаблонов после распаковки (в днях) 1

kaadog.kcg.generator.properties — пользовательские свойства, доступные глобально, передаются в каждый шаблон с использованием синтаксиса key=value.

kaadog.kcg.generator.data-source-configurations — конфигурация источника данных, позволяет указать несколько источников, параметры конфигурации:

Параметр Описание Значение по умолчанию

Примечание: в тексте запроса присутствуют фрагменты кода, но они не являются частью основного текста. Это команды компиляции и запуска проекта. | url | база данных соединения строка | — | | :----------------------------------------------------------- | :---------- | :---- | | username | имя пользователя | — | | password | пароль | — | | catalog | каталог базы данных, если база данных поддерживает и существует необходимость конфигурации | — | | schema | схема базы данных, если база данных поддерживает и существует необходимость конфигурации, GaussDB, oracle необходимо | — | | properties | содержимое пользовательских свойств базы данных, использование key=value формы указания | — | | types | типы, которые можно получить при получении структуры, поддерживают TABLE, VIEW | TABLE, VIEW | | table-names | могут быть имена таблиц или имена представлений, эти таблицы или представления происходят из конфигурации источника данных, загружаются в порядке, после загрузки будут перекрывать предыдущие загрузки, если не указано, по умолчанию будут сгенерированы все | — |

kaadog.kcg.generator.transformFunction, конфигурация интерфейса функции преобразования данных, можно указать функцию преобразования, которая будет включена, и выполнить частичную конфигурацию параметров функции, описание параметров конфигурации:

Параметр Описание Значение по умолчанию
class-name-camel-case-table-function.enabled включить конфигурацию функции класса имени с использованием верблюжьего регистра true
class-name-camel-case-table-function.searchStrs строки поиска, поиск в порядке очереди, при настройке следует обратить внимание на порядок строк ["t_", "t", "t-", "-t-", "-"]
column-name-lower-case-column-function.enabled включить функцию преобразования имени столбца в нижний регистр true
data-type-lower-case-column-function.enabled включить функцию преобразования типа данных в нижний регистр true
field-name-camel-case-column-function.enabled включить функцию конфигурации имени поля с использованием верблюжьего регистра true
field-name-lower-case-column-function.enabled включить функцию преобразования имени поля в нижний регистр true
gauss-db-comment-table-function.enabled конфигурация функции получения информации о комментариях к таблице GaussDB, предпосылка заключается в том, что конфигурация источника использует GaussDB true
table-name-lower-case-table-function.enabled включить функцию преобразования имени таблицы в нижний регистр true

kaadog.kcg.generator.dialect.types, конфигурация диалекта, реализация сопоставления отношений между типами полей базы данных и характеристиками языка, если не указана конфигурация сопоставления типов полей базы данных по умолчанию, генерируется как тип java String (из-за использования Java для разработки этого инструмента), описание конфигурации:

Параметр Описание Значение по умолчанию
data-type тип базы данных
field-type тип поля
class-name имя класса, используемого для типа поля, если указано, будет выполнено import (для не встроенных типов требуется указание)
value значение по умолчанию

​ Значение по умолчанию kaadog.kcg.generator.dialect.types имеет самый низкий приоритет настройки, может быть настроено для замены, следующее является значением по умолчанию:

Тип данных Тип поля Имя класса Значение
varchar String
varchar2 String
double double
number double
boolean Boolean Boolean.TRUE
integer int
int int
clob String
char String
datetime LocalDateTime java.time.LocalDateTime LocalDateTime.now()
date LocalDateTime java.time.LocalDateTime LocalDateTime.now()
longtext String
timestamp LocalDateTime java.time.LocalDateTime LocalDateTime.now()

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

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

1
https://api.gitlife.ru/oschina-mirror/cwmchen-kcg.git
git@api.gitlife.ru:oschina-mirror/cwmchen-kcg.git
oschina-mirror
cwmchen-kcg
cwmchen-kcg
master