将一些配置从数据库中移除
项目描述
此模块提供了一种在主Odoo配置文件中定义环境的方法,并从根据配置的环境读取一些配置:您在主配置文件中定义环境,而各种可能的环境的值存储在server_environment_files辅助模块中。
server_environment_files模块是可选的,值可以使用环境变量设置,如果失败,则使用数据库中的默认值。
从文件中读取的配置在“配置”菜单下可见。如果您不在“开发”环境中,您将无法看到定义的秘密键(默认为:’passw’,’key’,’secret’和’token’)中的值。
目录
安装
该模块本身作用不大。例如,mail_environment插件依赖于此插件,允许根据环境配置传入和传出邮件服务器。
您可以将配置值存储在名为server_environment_files的辅助模块中。您可以为此目的复制并自定义提供的server_environment_files_sample模块。或者,您可以在环境变量SERVER_ENV_CONFIG和SERVER_ENV_CONFIG_SECRET中提供它们。
配置
要配置此模块,您需要编辑实例的主配置文件,并添加一个名为 running_env 的指令。常用值包括‘dev’,‘test’,‘production’。
[options] running_env=dev
或者设置环境变量 RUNNING_ENV 或 ODOO_STAGE。如果都设置了,则配置文件将优于环境变量,而 RUNNING_ENV 将优于 ODOO_STAGE。
ODOO_STAGE 用于 odoo.sh 平台,在该平台上我们无法设置 RUNNING_ENV,可能观察到的值包括 production,staging 和 dev。
与包含‘passw’键的值相关联的值仅在‘dev’环境中显示。
如果您不提供任何值,则使用测试作为安全的默认值。
您有几种方法可以设置配置值
server_environment_files
您可以在 server_environment_files 扩展中编辑您需要的设置。可以将 server_environment_files_sample 用作示例。
所有环境/大多数环境通用的值可以使用 .ini 文件语法存储在 default/ 目录中;
您需要定义的每个环境都存储在其自己的目录中,可以覆盖或扩展默认值;
您可以在实例的主配置文件中覆盖或扩展值;
环境变量
您可以在环境变量 SERVER_ENV_CONFIG 和/或 SERVER_ENV_CONFIG_SECRET 中定义配置。这两个变量被以完全相同的方式处理,这只是为了部署中的便利,您可以在不同的加密文件中隔离秘密。它们是具有与文件相同的 configparser 格式的多行环境变量。如果您在 server_environment_files 中使用了选项,则环境变量中设置的选项将覆盖它们。
环境变量中的选项不依赖于 running_env,变量的内容必须相应地设置,以匹配运行环境。
设置示例
一个公共文件,将包含公共变量
# These variables are not odoo standard variables, # they are there to represent what your file could look like export WORKERS='8' export MAX_CRON_THREADS='1' export LOG_LEVEL=info export LOG_HANDLER=":INFO" export DB_MAXCONN=5 # server environment options export SERVER_ENV_CONFIG=" [storage_backend.my_sftp] sftp_server=10.10.10.10 sftp_login=foo sftp_port=22200 directory_path=Odoo "
第二个加密文件,包含秘密
# This variable is not an odoo standard variable, # it is there to represent what your file could look like export DB_PASSWORD='xxxxxxxxx' # server environment options export SERVER_ENV_CONFIG_SECRET=" [storage_backend.my_sftp] sftp_password=xxxxxxxxx "
警告
my_sftp 必须与记录名称匹配。如果您想要更可靠的结果,请使用 server.env.techname.mixin 并使用 tech_name 字段引用记录。请参阅“用法”。
默认值
当使用 server.env.mixin 混合时,对于每个 env-computed 字段,都会创建一个伴随字段 <field>_env_default。该字段不依赖于环境。它是当配置文件/环境变量中没有设置键时使用的回退值。
当使用默认字段时,该字段在 Odoo 中是可编辑的。
注意:空环境密钥始终优于默认字段
服务器环境集成
请参阅类 models/server_env_mixin.py 的文档。
使用方法
您可以将混合器包含在您的模型中,并通过覆盖 _server_env_fields 来配置 env-computed 字段。
class StorageBackend(models.Model):
_name = "storage.backend"
_inherit = ["storage.backend", "server.env.mixin"]
@property
def _server_env_fields(self):
return {"directory_path": {}}
请参阅 models/server_env_mixin.py 中的类和方法文档。
如果您想要有一个技术名称来引用
class StorageBackend(models.Model):
_name = "storage.backend"
_inherit = ["storage.backend", "server.env.techname.mixin", "server.env.mixin"]
[...]
已知问题/路线图
无法从命令行设置环境。必须使用配置文件。
此模块不允许设置低级属性,如数据库服务器等。
server.env.techname.mixin 的 tech_name 字段可以利用新的可计算/可写字段选项,从而消除一些 onchange / read / write 代码。
错误追踪器
错误在 GitHub Issues 上跟踪。如果遇到问题,请检查是否已经报告了您的问题。如果您是第一个发现它的,请通过提供详细的欢迎反馈来帮助我们将其粉碎:feedback。
不要直接联系贡献者以获取支持或帮助解决技术问题。
致谢
贡献者
Florent Xicluna (Wingo) <florent.xicluna@gmail.com>
Nicolas Bessi <nicolas.bessi@camptocamp.com>
Alexandre Fayolle <alexandre.fayolle@camptocamp.com>
Daniel Reis <dgreis@sapo.pt>
Holger Brunn <hbrunn@therp.nl>
Leonardo Pistone <leonardo.pistone@camptocamp.com>
Adrien Peiffer <adrien.peiffer@acsone.com>
Thierry Ducrest <thierry.ducrest@camptocamp.com>
Guewen Baconnier <guewen.baconnier@camptocamp.com>
Thomas Binfeld <thomas.binsfeld@acsone.eu>
Stéphane Bidoul <stefane.bidoul@acsone.com>
Simone Orsi <simahawk@gmail.com>
维护者
本模块由OCA维护。
OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。
此模块是GitHub上OCA/server-env项目的组成部分。
欢迎您贡献力量。有关如何贡献的信息,请访问https://odoo-community.org/page/Contribute。
项目详情
odoo_addon_server_environment-18.0.1.0.0.3-py3-none-any.whl的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 32aee587cb432e0019799eca8fd144077f34285a97106bd601ad82c3703f9c9c |
|
| MD5 | dbe59f7f392dfbffdbffac8a65e34512 |
|
| BLAKE2b-256 | 70bf53806de835968be9a42c3d2df7cd80cbd8b10522e5f69deda1f6f531abfc |