1
0
mirror of https://github.com/ManyakRus/crud_generator.git synced 2024-12-22 00:36:41 +02:00
crud_generator/readme.rus

75 lines
4.6 KiB
Plaintext
Raw Normal View History

2023-11-14 16:07:41 +02:00
Приложение crud_generator предназначено для автоматической генерации файлов исходного кода
на языке golang для выполнения операций CRUD.
Создаётся полностью готовый микросервис, который можно сразу запустить.
2023-11-14 16:07:41 +02:00
Для каждой таблицы в базе данных Postgres SQL будут сделаны файлы для выполнения crud операций:
2024-03-15 15:30:07 +02:00
- Create(), Read(), Update(), Delete() (или Delete() + Restore() если есть поле is_deleted)
- Save() - создание новой записи при ID=0, или обновление записи при ID<>0
- ReadFromCache() - чтение из кэша или базы данных
- Update_ColumnName() - изменение только одной колонки с именем ColumnName,
отдельная функция для каждой колонки каждой таблицы.
2023-11-14 16:07:41 +02:00
генерируются файлы:
1. table - структура struct со всеми полями из БД, и аннотациями gorm + json
2023-11-14 17:03:01 +02:00
Таблицы с полями в базе данных должны быть созданы заранее вручную.
Кодогенератор найдёт в базе все таблицы и их поля, и использует их.
2. model - структура struct, включающая table, с функциями crud операций
2. crud - файлы выполнения crud операций, обмен с базой данных,
2023-11-14 16:07:41 +02:00
а также файлы с тестами
3. grpc server - файлы для выполнения crud операций по сети, по протоколу GRPC,
а также файлы с тестами
4. grpc client - файлы клиенты для использования GRPC сторонними сервисами,
а также файлы с тестами
5. nrpc server - файлы для выполнения crud операций по сети, по протоколу NRPC (через брокер сообщений NATS),
а также файлы с тестами
6. nrpc client - файлы клиенты для использования NRPC сторонними сервисами,
а также файлы с тестами
7. crud_starter - файл с функциями переключения на нужный протокол db или grpc или nrpc
8. main.go и другие .go файлы
9. Makefile - файл настройки запуска скриптов
2024-03-15 15:30:07 +02:00
10. .env - файл для заполнения конфигурации микросервиса (параметры подключения к БД и др.)
2023-11-14 16:07:41 +02:00
2023-11-14 17:03:01 +02:00
2023-11-14 16:07:41 +02:00
Шаблоны кода хранятся в папке bin/templates.
Шаблон кода - это файл .go скопированный из реального проекта -
поэтому шаблон сделать (поменять на свой) легко - просто скопировать свой файл.
Кодогенератор выполняет замену части кода в шаблоне на другой код:
- название таблицы БД
- название модели
- добавление и убирание импортов
Порядок установки:
1. Скомпилировать этот репозиторий
2024-03-15 15:30:07 +02:00
>make build
2023-11-14 16:07:41 +02:00
в папке bin появится файл crud_generator
2023-11-17 14:08:31 +02:00
2. Заполнить найстройки в файле bin/templates/configs_/settings.txt
2023-11-14 16:07:41 +02:00
- подключения к вашей базе данных
- имя вашего нового сервиса
- URL вашего нового сервиса
- и др.
2024-03-15 15:30:07 +02:00
3. Таблицы в базе данных должны быть сделаны заранее, вручную.
4. Запустить crud_generator
2023-11-14 16:07:41 +02:00
В папке bin появится новая папка с именем вашего сервиса,
с подпапками и готовыми файлами внутри.
2024-03-15 15:30:07 +02:00
5. Заполнить параметры конфигурации в файле .env
Запустить микросервис:
2024-03-15 15:30:07 +02:00
>make run
2023-11-14 16:07:41 +02:00
P.S.
Я сгенерировал себе 170000 строк кода, из 70 таблиц в базе данных, для своего сервиса.
Исходный код на языке Golang.
Тестировал на Linux Ubuntu
Реадми от 14.11.2023
Сделал Александр Никитин
https://github.com/ManyakRus/crud_generator