module
0.0.0-20250218091114-e641932fdd01
Repository: https://github.com/educentr/go-activerecord.git
Documentation: pkg.go.dev
# README
ORM
Схема Active Record — это подход к доступу к данным в базе данных.
Таблица базы данных или представление обёрнуты в классы. Таким образом, объектный экземпляр привязан к единственной строке в таблице. После создания объекта новая строка будет добавляться к таблице на сохранение. Любой загруженный объект получает свою информацию от базы данных. Когда объект обновлён, соответствующая строка в таблице также будет обновлена. Класс обёртки реализует методы средства доступа или свойства для каждого столбца в таблице или представлении.
см. так же:
ToDo
- Добавить ENUM типы данных. В описании используется специальный тип ENUM (можно дженерик), в нем перечисляются все возможные значения. На выходе получаем набор констант, а в мете для создания таблици получаем свой тип, при изменении получаем альтер.
- Сделать генерацию sql схемы для создания БД. Так же надо сделать утилиту для создания миграций и сохранения её в БД. Миграции создаём на основании дифа с мейном.
- Сделать проверку, что все объекты удовлетворяют интерфейсу
*queuetaskresult.QueueTaskResult
. Нужно, для того что бы в тестах сразу отлавливать эти случаи, иначе ломается только тогда. когда используешь связанные объекты. - Возможно надо объеденить шаблоны, что бы копипасты было меньше. Например link.tmpl сейчас это просто копипаста. Тут можно обойтись симлинками или сделать раздел в котором лежат общие шаблоны. С симлинками надо убедиться, что всё это нормально будет работать например под windows. Общие шаблоны тоже могут стать камнем приткновения, когда везде надо одинаковое, в а одном из 100 драйверов, что то другое. Можно обойтись какими то переопределениями, если имена пересекаются то более правильный файл в драйвере.
var _ activerecord.ModelStruct = (*_bla_)(nil)
в main.tmpl