Описание таблиц БД кассы можно прочитать в разделе "База данных".

Начиная с версии 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,

где номер_версии – конечный номер версии, до которой будет выполнено увеличение или понижение.

Миграция баз данных построена с учетом обратной совместимости, старая версия кассовой программы будет корректно работать с новой версией базы данных.

Восстановление базы данных

Восстановление БД может происходить несколькими способами:

  1. С помощью пункта "Восстановление справочников" в сервисном меню.
  2. Создать дамп с другой кассы магазина и восстановить его на кассе.

Настройки доступа к серверу БД 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 являются равноправными.
  • No labels