-
Notifications
You must be signed in to change notification settings - Fork 9
$db
Каждое Dia-приложение хранит подавляющее большинство своих данных в одной реляционной БД.
Никаких ограничений на число связей с дополнительными источниками данных нет, но если, к примеру, в рамках одного проекта требуется реализовать по 100-120 SQL-запросов к каждой из 5 разных БД, которые нельзя объединить хотя бы на уровне db link'ов, то стоит с самого начала выбрать не Dia.pm, а иную платформу.
Итак, для Dia-приложения есть главная, родная, БД (координаты которой определяются в зарезервированной части back/conf/elud.json, см. $preconf) и есть всё остальное. В рамках подключения к главной БД можно использовать процедурный API, где база (или связь с ней) как переменная не упоминается вообще.
Тем не менее, такая переменная типа DBI всюду определена, она называется $db.
В норме в начале обработки каждого запроса handler:
- вызывает sql_reconnect, что позволяет выявить/исправить проблемы подключения;
- при непустом $_REQUEST {action} - открывает транзакцию.