Скрипты и база данных одна — проект один.
Используется одна схема в базе данных:
PostgreSQL
|———— totum_scheme
Файлы проекта расположены /http/fls/
.
Поддерживается один домен адресованный в /http
.
Скрипты и база данных одна — проекты разные. Доступа из одной схемы в другую нет.
Используется множество схем в одной базе данных и одних скриптах:
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"
Множественная установка обновляется также как и одинарная командой bin/totum git-update
.
Totum сам определяет тип установки и для множественной и последовательно обновляет имеющиеся в ней схемы.
Если вы установили no-multi и хотите изменить на multi.
Измените Conf.php
в корневой папке установки:
Проверьте, что в 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
. Папка создается автоматически при добавлении файла. Если у вас в проекте есть файлы — то переместите их в папку соответствующего домена.
Откорректируйте Кроны
Откройте crontab
от пользователя totum
:
crontab -e
И откорректируйте:
schema-crons
замените на schemas-crons
clean-schema-tmp-tables
замените на clean-schemas-tmp-tables