Описание таблиц БД кассы можно прочитать в разделе "База данных".
Начиная с версии 4.6.302-14 название пакета изменено с artix45-mysql-db на artix-mysql-db.
Описание структуры баз данных
База данных Artix состоит из двух баз данных MySQL. В одной из них (БД Dictionaries) хранится справочная информация товары, кассиры, карты и т.д., в другой (БД Documents) – результаты продаж, журнал действий кассира (опционально). База данных Dictionaries оптимизирована под механизмы обновления данных, информация в ней может изменяться только сервисами, которые отвечают за обновление данных. База данных Documents предназначена для надежного хранения и поддержания целостности данных о результатах продаж, информация в эту базу добавляется только кассовой программой. С целью предотвращения ситуации окончания свободного места на диске, специальным сервисом производится удаление устаревшей информации. Файлы баз данных располагаются в директории /linuxcash/cash/data/mysql. Доступ к файлам баз данных выполняется от имени пользователя mysql.
Необходимо следить за тем, чтобы владельцем директории /linuxcash/cash/data/mysql всех файлов и поддиректорий был пользователь mysql, группа mysql.
Доступ к базам данных с localhost может быть осуществлен от имени пользователя root без пароля. Для доступа с удаленного хоста используется пользователь netroot с паролем netroot.
Для удаленного подключения должен быть доступен порт MySQL 3306.
Поддержание структуры баз данных
Для поддержания структуры базы данных в актуальном состоянии используется механизм миграции базы данных. Миграция – это удобный способ поддерживать актуальность схемы базы данных всё время неизменным и простым образом. Каждую миграцию можно рассматривать как новую версию базы данных. Схема изначально ничего не содержит, а каждая миграция изменяет ее, добавляя или убирая таблицы, столбцы или записи. Подсистема миграции включена в состав пакета artix45-mysql-db, файлы находится в директории /linuxcash/cash/data/db/.
Обновление структуры базы данных выполняется автоматически при включении кассы и перезапуске кассовой программы. За запуск процесса обновления отвечает скрипт /linuxcash/cash/bin/startup/17_update_db. Подробнее о порядке загрузке читайте в разделе "Запуск кассовой программы". Такой подход позволяет поддерживать актуальность схемы баз данных и позволяет восстановить структуру после крушения.
Для очистки результатов продаж при замене кассы достаточно удалить базу данных documents и перезапустить кассовую программу.
Для получения информации о текущей версии базы, изменениях версии, обновлениях схемы доступны следующие команды, которые выполняются из директории /linuxcash/cash/data/db:
./db_version <метафайл_базы_данных>– получение версии базы данных,./down <метафайл_базы_данных> <номер_версии>– понижение версии базы данных до заданного номера,./up <метафайл_базы_данных> <номер_версии>– увеличение версии базы данных до заданного номера,./update_db– обновление баз данных до последней версии.
Здесь метафайл_базы_данных – файл, который содержит информацию о базе данных.
Для базы данных:
dictionariesиспользуется файлdic-dep,documentsиспользуется файлdoc-dep,queuesиспользуется файлque-dep,
где номер_версии – конечный номер версии, до которой будет выполнено увеличение или понижение.
Миграция баз данных построена с учетом обратной совместимости, старая версия кассовой программы будет корректно работать с новой версией базы данных.
Восстановление базы данных
Восстановление БД может происходить несколькими способами:
- С помощью пункта "Восстановление справочников" в сервисном меню.
- Создать дамп с другой кассы магазина и восстановить его на кассе.
Настройки доступа к серверу БД MySQL
Настройки доступа к серверу БД MySQL находятся в конфигурационном файле /linuxcash/cash/conf/db.ini в секции [MysqlServer].
Наименование | Тип данных | Описание | Примечания |
|---|---|---|---|
| host | строковый | Хост сервера БД | По умолчанию localhost |
| port | целочисленный | Порт сервера БД | По умолчанию 3306 |
| user | строковый | Пользователь БД | По умолчанию root |
| password | строковый | Пароль пользователя БД | По умолчанию без пароля |
[MysqlServer] ; Настройки доступа к серверу БД MySQL ; Хост сервера БД ; по умолчанию localhost ;host = localhost ; Порт сервера БД ; по умолчанию 3306 ;port = 3306 ; Пользователь БД ; по умолчанию root ;user = root ; Пароль пользователя БД ; по умолчанию без пароля ;password =
netroot и root являются равноправными.