⟵ сюдатуда ⟶
  • Установка
  • Конфигурация на Ubuntu
  • Обновления
  • Бэкапы
  • Multi/no-multi
  • No-multi
  • Multi
  • Дублирование схем
  • Обновление multi
  • Изменение no-multi на multi
  • Консольная утилита bin/totum
  • Основы для пользователей
  • Интерфейс и компоновка
  • Таблицы и их параметры
  • Префильтр
  • Поля и их параметры
  • Синтаксис
  • Код, действия, форматирование
  • Реляционные взаимосвязи
  • Порядок расчета и единицы пересчета
  • Сравнения
  • Функции
  • Отладка
  • Автозаполнение расчетных и временных
  • Дублирование строк и циклов
  • Деревья
  • Печать и CSV
  • API
  • Роли и пользователи
  • Нотификации
  • Действия по расписанию
  • Анонимные таблицы
  • Внешние формы
  • Экспорт и импорт таблиц
  • Системные таблицы
  • Подключение функций
  • Дополнительные интерфейсы
  • Структура файлов
  • Структура базы
  • Multi/no-multi

    No-multi

    Скрипты и база данных одна — проект один.

    Используется одна схема в базе данных:

    PostgreSQL

    |———— totum_scheme

    Файлы проекта расположены /http/fls/.

    Поддерживается один домен адресованный в /http.

    Multi

    Скрипты и база данных одна — проекты разные. Доступа из одной схемы в другую нет.

    Используется множество схем в одной базе данных и одних скриптах:

    PostgreSQL

    |———— totum_scheme_1

    |———— totum_scheme_2

    |———— totum_scheme_3

    |———— totum_scheme_4

    |———— ...

    Файлы схем разделены по папкам и расположены /http/fls/DOMAIN/.

    Поддерживается множество доменов, Totum отслеживает домен запроса и напрявляет его в нужную схему БД.

    Все домены адресуются в /http.

    Вы можете использовать домены 3 и 4 уровня.

    Дублирование схем

    При multi установке вы можете создать новую схему дублирование с уже существующей, выполнив из корневой папки Totum:

    bin/totum schema-duplicate ИМЯ_КОПИРУЕМОЙ_СХЕМЫ ИМЯ_СОЗДАВАЕМОЙ_СХЕМЫ URL_НОВОЙ_СХЕМЫ
    

    Иногда необходимо дублировать схему без Логов или без данных каких-то таблиц. В этом случае используются дополнительные параметры к bin/totum schema-duplicate:

    bin/totum schema-duplicate ИМЯ_КОПИРУЕМОЙ_СХЕМЫ ИМЯ_СОЗДАВАЕМОЙ_СХЕМЫ URL_НОВОЙ_СХЕМЫ --no-logs --no-content="table_name_1,table_name_2"
    

    Обновление multi

    Множественная установка обновляется также как и одинарная командой bin/totum git-update.

    Totum сам определяет тип установки и для множественной и последовательно обновляет имеющиеся в ней схемы.

    Изменение no-multi на multi

    Если вы установили no-multi и хотите изменить на multi.

    Измените Conf.php в корневой папке установки:

    use totum\common\configs\MultiTrait; — добавить если нет после namespace totum\config;
    use MultiTrait; — добавить в класс {} class Conf extends ConfParent{
    

    Найти и закоментировать:

    // protected $hostName="host";
    // protected $schemaName="schema_name";
    

    Проверьте, что в static function getSchemas() в return [] указан ваш домен без http://

    Для одинарной установки корректность домена в этом блоке была неважна, но это критически важно для multy-установки!

    Проверьте, что бы в const db=array были указаны корректные пути к pg_dump и psql

    'pg_dump' => 'pg_dump',
    'psql' => 'psql',
    

    Для одинарной установки они не использовались, но критически нужны для копирования схем при multy-установке.

    Проверьте работоспособность схемы.

    Теперь ее можно копировать из консоли командой bin/totum schema-duplicate выполняемой из корневой папки Totum (totum-mit):

    bin/totum schema-duplicate ИМЯ_КОПИРУЕМОЙ_СХЕМЫ ИМЯ_СОЗДАВАЕМОЙ_СХЕМЫ URL_НОВОЙ_СХЕМЫ
    

    Предварительно необходимо создать алиасы для основного домена и направить их в ту-же папку, что и основной домен (это делается на вашем dns-сервере). Также можно автоматически перенаправлять все домены 3 уровня тк тотум самостоятельно смотрит host запроса и сравнивает его с доменами прописанными в Conf.php. Если соответствия на host не найдется он вернет сообщение «такой схемы нет».

    При корректном выполнении вы увидите сообщение save Conf.php.

    Если схема, которую вы копируете установлена в public — то стандартных механизм копирование не сработает! Вам нужно зайти в psql от пользователя postrgres и изменить владельца public на пользователя от которого запускается totum.

    Файлы у no-multi установки хранятся в ./http/fls/, а у multi ./http/fls/DOMAIN. Папка создается автоматически при добавлении файла. Если у вас в проекте есть файлы — то переместите их в папку соответсвующего домена.