1
0
mirror of https://github.com/ManyakRus/crud_generator.git synced 2025-01-17 08:56:48 +02:00

сделал готовый микросервис

This commit is contained in:
Nikitin Aleksandr 2023-11-22 17:19:22 +03:00
parent 34528a1aaf
commit 006a06fc47
2 changed files with 25 additions and 10 deletions

View File

@ -1,13 +1,15 @@
The crud_generator application is designed to automatically generate source code files The crud_generator application is designed to automatically generate source code files
in golang language to perform CRUD operations. in golang language to perform CRUD operations.
A completely ready-made microservice is created that can be launched immediately.
For each table in the Postgres SQL database, files will be created to perform crud operations: For each table in the Postgres SQL database, files will be created to perform crud operations:
create, read, update, save, delete (or delete + restore) create, read, update, save, delete (or delete + restore)
files are generated: files are generated:
1. model - struct structure with all fields from the database, and gorm + db + json annotations 1. table - struct structure with all fields from the database, and gorm + json annotations
Tables with fields in the database must be created manually in advance. Tables with fields in the database must be created manually in advance.
The code generator will find all the tables and their fields in the database and use them. The code generator will find all the tables and their fields in the database and use them.
2. db - files for performing crud operations, exchange with the database, 2. model - struct structure, including table, with crud operations functions
2. crud - files for performing crud operations, exchange with the database,
as well as files with tests as well as files with tests
3. grpc server - files for performing crud operations over the network, using the GRPC protocol, 3. grpc server - files for performing crud operations over the network, using the GRPC protocol,
as well as files with tests as well as files with tests
@ -18,6 +20,10 @@ files are generated:
6. nrpc client - client files for use by NRPC third-party services, 6. nrpc client - client files for use by NRPC third-party services,
as well as files with tests as well as files with tests
7. crud_starter - a file with functions for switching to the desired protocol db or grpc or nrpc 7. crud_starter - a file with functions for switching to the desired protocol db or grpc or nrpc
8. main.go and other .go files
9. Makefile - script launch configuration file
10. .env - file for filling in the microservice configuration (database connection parameters, etc.)
Code templates are stored in the bin/templates folder. Code templates are stored in the bin/templates folder.
The code template is a .go file copied from the real project - The code template is a .go file copied from the real project -
@ -32,9 +38,9 @@ Installation procedure:
make build make build
the crud_generator file will appear in the bin folder the crud_generator file will appear in the bin folder
2. Fill settings in the bin/templates/configs_/settings.txt file 2. Fill in the settings in the file bin/templates/configs_/settings.txt
- connections to your database - connections to your database
- name of your new service - the name of your new service
- URL of your new service - URL of your new service
- and etc. - and etc.
@ -42,8 +48,10 @@ the crud_generator file will appear in the bin folder
A new folder with the name of your service will appear in the bin folder, A new folder with the name of your service will appear in the bin folder,
with subfolders and finished files inside. with subfolders and finished files inside.
4. Copy the finished files to your service. 4. Fill in the configuration parameters in the .env file
(TODO: later I’ll generate a completely ready-made microservice launched with 1 line of code) Start microservice:
make run
P.S. P.S.

View File

@ -1,13 +1,15 @@
Приложение crud_generator предназначено для автоматической генерации файлов исходного кода Приложение crud_generator предназначено для автоматической генерации файлов исходного кода
на языке golang для выполнения операций CRUD. на языке golang для выполнения операций CRUD.
Создаётся полностью готовый микросервис, который можно сразу запустить.
Для каждой таблицы в базе данных Postgres SQL будут сделаны файлы для выполнения crud операций: Для каждой таблицы в базе данных Postgres SQL будут сделаны файлы для выполнения crud операций:
create, read, update, save, delete (или delete + restore) create, read, update, save, delete (или delete + restore)
генерируются файлы: генерируются файлы:
1. model - структура struct со всеми полями из БД, и аннотациями gorm + db + json 1. table - структура struct со всеми полями из БД, и аннотациями gorm + json
Таблицы с полями в базе данных должны быть созданы заранее вручную. Таблицы с полями в базе данных должны быть созданы заранее вручную.
Кодогенератор найдёт в базе все таблицы и их поля, и использует их. Кодогенератор найдёт в базе все таблицы и их поля, и использует их.
2. db - файлы выполнения crud операций, обмен с базой данных, 2. model - структура struct, включающая table, с функциями crud операций
2. crud - файлы выполнения crud операций, обмен с базой данных,
а также файлы с тестами а также файлы с тестами
3. grpc server - файлы для выполнения crud операций по сети, по протоколу GRPC, 3. grpc server - файлы для выполнения crud операций по сети, по протоколу GRPC,
а также файлы с тестами а также файлы с тестами
@ -18,6 +20,9 @@ create, read, update, save, delete (или delete + restore)
6. nrpc client - файлы клиенты для использования NRPC сторонними сервисами, 6. nrpc client - файлы клиенты для использования NRPC сторонними сервисами,
а также файлы с тестами а также файлы с тестами
7. crud_starter - файл с функциями переключения на нужный протокол db или grpc или nrpc 7. crud_starter - файл с функциями переключения на нужный протокол db или grpc или nrpc
8. main.go и другие .go файлы
9. Makefile - файл настройки запуска скриптов
10. .env - файл для зазполнения конфигурации микросервиса (параметры подключения к БД и др.)
Шаблоны кода хранятся в папке bin/templates. Шаблоны кода хранятся в папке bin/templates.
@ -43,8 +48,10 @@ make build
В папке bin появится новая папка с именем вашего сервиса, В папке bin появится новая папка с именем вашего сервиса,
с подпапками и готовыми файлами внутри. с подпапками и готовыми файлами внутри.
4. Скопировать готовые файлы в свой сервис. 4. Заполнить параметры конфигурации в файле .env
(TODO: попозже сделаю генерацию полностью готового микросервиса, запускаемого 1 строчкой кода) Запустить микросервис:
make run
P.S. P.S.