Приложение crud_generator предназначено для автоматической генерации файлов исходного кода на языке golang для выполнения операций CRUD. Для каждой таблицы в базе данных Postgres SQL будут сделаны файлы для выполнения crud операций: create, read, update, save, delete (или delete + restore) генерируются файлы: 1. model - структура struct со всеми полями из БД, и аннотациями gorm + db + json Таблицы с полями в базе данных должны быть созданы заранее вручную. Кодогенератор найдёт в базе все таблицы и их поля, и использует их. 2. db - файлы выполнения 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 Шаблоны кода хранятся в папке bin/templates. Шаблон кода - это файл .go скопированный из реального проекта - поэтому шаблон сделать (поменять на свой) легко - просто скопировать свой файл. Кодогенератор выполняет замену части кода в шаблоне на другой код: - название таблицы БД - название модели - добавление и убирание импортов Порядок установки: 1. Скомпилировать этот репозиторий make build в папке bin появится файл crud_generator 2. Заполнить найстройки в файле bin/settings.txt - подключения к вашей базе данных - имя вашего нового сервиса - URL вашего нового сервиса - и др. 3. Запустить crud_generator В папке bin появится новая папка с именем вашего сервиса, с подпапками и готовыми файлами внутри. 4. Скопировать готовые файлы в свой сервис. (TODO: попозже сделаю генерацию полностью готового микросервиса, запускаемого 1 строчкой кода) P.S. Я сгенерировал себе 170000 строк кода, из 70 таблиц в базе данных, для своего сервиса. Исходный код на языке Golang. Тестировал на Linux Ubuntu Реадми от 14.11.2023 Сделал Александр Никитин https://github.com/ManyakRus/crud_generator