Categorygithub.com/Educentr/go-activerecord
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

# Packages

No description provided by the author
No description provided by the author