Приложение crud_generator предназначено для автоматической генерации файлов исходного кода на языке golang для выполнения операций CRUD. Создаётся полностью готовый микросервис, который можно сразу запустить. Для каждой таблицы в базе данных Postgres SQL будут сделаны файлы для выполнения crud операций: - Create(), Read(), Update(), Delete() (или Delete() + Restore() если есть поле is_deleted) - Save() - создание новой записи при ID=0, или обновление записи при ID<>0 - ReadFromCache() - чтение из кэша или базы данных - Update_ColumnName() - изменение только одной колонки с именем ColumnName, отдельная функция для каждой колонки каждой таблицы. генерируются файлы: 1. table - структура struct со всеми полями из БД, и аннотациями gorm + json Таблицы с полями в базе данных должны быть созданы заранее вручную. Кодогенератор найдёт в базе все таблицы и их поля, и использует их. 2. model - структура struct, включающая table, с функциями crud операций 2. crud - файлы выполнения crud операций, обмен с базой данных, а также файлы с тестами 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 - файл настройки запуска скриптов 10. .env - файл для заполнения конфигурации микросервиса (параметры подключения к БД и др.) Шаблоны кода хранятся в папке bin/templates. Шаблон кода - это файл .go скопированный из реального проекта - поэтому шаблон сделать (поменять на свой) легко - просто скопировать свой файл. Кодогенератор выполняет замену части кода в шаблоне на другой код: - название таблицы БД - название модели - добавление и убирание импортов Порядок установки: 1. Скомпилировать этот репозиторий >make build в папке bin появится файл crud_generator 2. Заполнить найстройки в файле bin/templates/configs_/settings.txt - подключения к вашей базе данных - имя вашего нового сервиса - URL вашего нового сервиса - и др. 3. Таблицы в базе данных должны быть сделаны заранее, вручную. 4. Запустить crud_generator В папке bin появится новая папка с именем вашего сервиса, с подпапками и готовыми файлами внутри. 5. Заполнить параметры конфигурации в файле .env Запустить микросервис: >make run P.S. Я сгенерировал себе 170000 строк кода, из 70 таблиц в базе данных, для своего сервиса. Исходный код на языке Golang. Тестировал на Linux Ubuntu Реадми от 14.11.2023 Сделал Александр Никитин https://github.com/ManyakRus/crud_generator