`` –Db-filter``¶
Основная цель –db-filter` - не спрашивать пользователя, какую базу данных ему нужно использовать (он может этого не знать). Это реализуется путем проверки адреса HOST, который был использован.
Например, у вас есть два независимых веб-сайта, например, `` shop1.example.com`` и `` shop2.example.com``, которые указывают на один и тот же сервер odoo с двумя базами данных. Используя `` –db-filter``, вы можете настроить odoo на использование соответствующей базы данных в зависимости от используемого адреса хоста. Проверьте ссылки на документацию ниже или перейдите к примерам, чтобы узнать, как это сделать.
Документы¶
Официальная документация: https://www.odoo.com/documentation/master/setup/deploy.html#dbfilter
Основной код: https://github.com/odoo/odoo/search?l=Python&q=%22def+db_monodb%22
Дополнительная опция: https://github.com/OCA/server-tools/tree/11.0/dbfilter_from_header
Примеры¶
Единая база данных¶
Если у вас есть одна база данных, вы можете установить фильтр по умолчанию:
--db-filter=.*
Игнорирование других баз данных¶
Чтобы заставить odoo всегда использовать только одну базу данных, скажем `` mydb``, используйте следующий фильтр
--db-filter=^mydb$
Имена баз данных равны имени хоста¶
--db-filter=^%h$
Чтобы использовать фильтр выше, вы должны назвать базы данных равными адресу хоста, например:
- `` shop1.example.com`` - имя первой базы данных
- `` shop2.example.com`` - имя второй базы данных
- `` www.super-shop.example.com`` - название третьей базы данных
- `` it-projects.info`` - название четвертой базы данных
Предупреждение
этот фильтр не может работать с префиксом `` www`` и без него одновременно
Имена баз данных, равные поддомену¶
--db-filter=^%d$
Чтобы использовать фильтр выше, вы должны назвать базы данных равными поддомену, например, если имя базы данных равно `` shop``, тогда фильтр будет использовать его для любого из следующих запросов:
- `` shop.example.com``
- `` Www.shop.example.com``
- `` shop.yourbrand.example``
- `` Www.shop.yourbrand.example``