有几种方式去设置odoo的开发环境,我们将逐个介绍他们。
如果你之前没有接触过odoo的开发环境,那么有几个必要的概念你是需要了解的。在这一章节中,我们首先介绍odoo的生态。然后我们在进行介绍odoo开发环境的安装。
在这一章节中,我们主要涉及以下内容。
妞妞为开发者提供了开箱即用的开发模式。这可以让开发者很快完成项目建设。
妞妞有两个版本,第一个是社区版,也是开源的。第二个是企业版。是需要软件授权的。企业班只是在社区版的基础上增加了一些新的功能。社区版基于LGPLv3协议开源,并集成了基础的ERP应用。企业版是妞妞公司独有的协议。社区版有更强大的功能。比如全套的记账,开发,以及网络电话等设企业半夜将提供无限制的bug修复。下面这张表格说明了企业版于社区版的关系。
妞妞的源码都是托管在github上。
每年妞妞都会发布。一般主要的版本(Long-Term Support LTS)以及一些小版本。小版本主要使用在SaaS服务上。
Runbot是妞妞的自动测试环境。它可以自动拉去github中最新的4次提交,并进行构建。在这,你可以使用企业版以及他们的分支。(源码是看不到的)
每次构建有不同的颜色,这代表这测试用例的情况。绿色代表通过,红色代表失败。你可以查看具体的日志。每次构建会有两个数据库,一个是安装了全部模块的数据库,一个是基础数据库。每次构建都会安装一些模拟数据。
Note 访问:http://runbot.odoo. com/runbot.
Note
访问:http://runbot.odoo. com/runbot.
几个基本的账户
这是一个公开的测试环境,任何人都可以使用。所以说在你测试的时候也有可能其他人也在测试相同的分支。
正如其名,商城,大家上去看看就懂了。
Odoo Community Association (OCA)非盈利组织,管理者不少好模块。但是有不少模块都是老版本的了,跟新的版本不一定兼容。如有需要,需要自己修改。地址如下:https://github.com/OCA
有问题先上论坛,有很多坑其实大家都在踩。https://help.odoo.com.help.odoo.com.
官方的视频教程,访问地址:https://www.odoo.com/slides.
官方推荐ubuntu,这本书使用的是Ubuntu Server 18.04 LTS版本。
个人的开发环境最好跟生产环境相同,避免不少坑。
Ubuntu 18.04、管理员账户
一些配置可能需要账户名,可通过whoami命令获取用户名。
$ sudo apt-get update $ sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools libpng12-0 libjpeg-dev gdebi -y
$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/ releases/download/0.12.5/wkhtmltox_0.12.5-1.trusty_amd64. deb $ sudo dpkg -i wkhtmltox_0.12.5-1.trusty_amd64.deb
$ sudo apt install postgresql -y
$ sudo -u postgres createuser --superuser $(whoami)
$ git config --global user.name "Your Name" $ git config --global user.email youremail@example.com
$ mkdir ~/odoo-dev $ cd ~/odoo-dev $ git clone -b 14.0 --single-branch --depth 1 https:// github.com/odoo/odoo.git
$ python3 -m venv ~/venv-odoo-14.0 $ source ~/venv-odoo-14.0/bin/activate
$ cd ~/odoo-dev/odoo/ $ pip3 install -r requirements.txt
$ createdb odoo-test $ python3 odoo-bin -d odoo-test –i base --addons- path=addons --db-filter=odoo-test$
工作原理
步骤1,安装核心依赖,用于安装odoo。 步骤2,安装wkhtmltopdf。
PostgreSQL配置
步骤3,安装数据库。
步骤4,创建一个与当前用户相同的用户。-s 是授予用户超级权限。odoo通过psycopg2连接数据库。为了访问数据库,odoo使用如下默认配置:
因为我们使用的是开发环境,因此我们给用户授予了超级权限。但在生产环境下,要使用 --createdb命令替换--superuser。我们可以通过-- pwprompt参数创建密码。如果用户已存在,可重置密码。
psql -c "alter role $(whoami) with password 'newpassword'"
如果报错说数据库不存在,是我们再步骤4中没有创建数据库引起的。可通过在步骤4命令的用户名后面添加 --dbname db_1。
Git 配置
通过git,我们可方便的调整部署的版本。
步骤5,我们创建git用户。
步骤6,下载最新的源码。用到的命令git clone及--depth 1(可下载一层commit)。
虚拟环境
python虚拟环境是为了避免环境污染。
步骤7,我们在~/venv-odoo-14.0文件夹中创建了python的环境及安装所需的包。我们可通过source ~/venv- odoo-14.0/bin/activate命令激活虚拟环境。
安装pyhon包
步骤8,安装odoo所需的python包。
启动实体
步骤9,启动实体
odoo-bin所用到的参数
或使用的数据库并不是系统登录账户,可通过如下参数进行配置。
其他的参数,可通过 odoo-bin --help参数查看。
当odoo启动了一个空的数据库,odoo将创建运行所需的基础表结构。同时将扫描addons- path目录中可用的模块,并加载到数据库中。默认的账户密码是admin。
登录系统http://localhost:8069/,如下截图
已经在运行的odoo实例
odoo的数据库管理工具提供了数据库的创建、复制、删除、备份及恢复。还可以数据库管理工具的管理密码,限制非授权用户对数据库的操作。
按步骤创建就行,如果点击Continue之后又进入了登录页面。可能是刚刚填写的Database Name不符合之前设置的-- db_filter指定的的数据库正则。
有时我们需要对在用的数据进行测试,但是又不能操作生产库。那么我们可以将数据库复制一份,在复制的数据库中进行操作。
慎重操作,需输入数据库管理工具的管理密码。
同样需要管理密码。
按提示操作就行。
管理密码是存储在odoo.conf配置文件中的。 odoo使用PostgreSQL的createdb工具创建新的数据库,并调用odoo内部的函数初始化数据库。 如果想复制数据库,可通过 createdb --template 数据名 。通过这种方式,比通过页面的上的backup、restore要快很多。 备份和恢复使用的是pg_dump及pg_restore工具。当使用zip的格式的数据库备份时,备份将包含一些文件的副本(在配置odoo时用到但并未存储在数据库中的文档)。这些在odoo14中是默认选项。这些文件默认存储在~/.local/share/odoo/filestore中。 如果备份太大,可能会导致下载失败。odoo无法在内存中处理大文件、http的response设置的太小等都会导致这个问题。同样,restore也一样。
直接通过命令行操作数据库是非常方便的。 用演示数据初始化新的数据库
$ createdb testdb && odoo-bin -d testdb
我们还可以同时安装模块, -i sale, purchase, stock 。 复制数据库,停用服务并启动
$ createdb -T dbname newdbname $ cd ~/.local/share/Odoo/filestore # adapt if you have changed the data_dir $ cp -r dbname newdbname $ cd -
在开发环境的上下文中,文件存储经常被忽略。
命令行createdb -T操作数据库需在数据库没有被使用的情况下哦,也就是复制数据库需要odoo停用的情况下进行。
移除数据库实体,可通过
$ dropdb dbname $ rm -rf ~/.local/share/Odoo/filestore/dbname
创建备份,假定数据库在本地
$ pg_dump -Fc -f dbname.dump dbname $ tar cjf dbname.tgz dbname.dump ~/.local/share/Odoo/filestore/ dbname
$ pg_dump -Fc -f dbname.dump dbname
$ tar cjf dbname.tgz dbname.dump ~/.local/share/Odoo/filestore/ dbname
恢复备份,可通过如下
$ tar xf dbname.tgz $ pg_restore -C -d dbname dbname.dump
注意! 如果odoo使用不同的用户连接数据库,那么你需要传参-U username来为恢复的数据库指定拥有者。
odoo-bin脚本支持几十个参数的配置,我们可通过配置文件简化记忆。默认存储在/etc/odoo/odoo.conf中。
$ ./odoo-bin --save --config myodoo.cfg --stop-after-init
$ ./odoo-bin --help | less
$ ./odoo-bin -c odoo.conf
在实例启动的时候,主要经历三个阶段的配置。第一,所有的配置参数通过源代码设置默认值。第二,加载配置文件并覆盖已有配置。第三,命令行传参将再次覆盖已有配置。 大多数命令行参数都可按照上面说的方式在配置文件中找到。但是如下是不规则的变化:
下面列出了一些常用的配置:
以下是数据库相关的配置
一些配置文件并不会在配置文件中使用,但在开发模式下广泛使用。
作为odoo的开发者,你需要了解如何激活开发者模式。激活开发者模式之后,可以访问高级的配置以及相映的字段。这些选项通常是隐藏掉的并且在日常到使用过程中当中并不会用到。
用admin账户登陆系统。
进入配置。
在最下方可以看到开发者工具。
点击 激活开发者模式。
等待页面加载完成。
另外一种激活方式 It is also possible to activate the developer mode by editing the URL. Before the # sign, insert ?debug=1. For example, if your current URL is http://localhost:8069/ web#menu_id=102&action=94 and you want to enable developer mode, then you need to change that URL to http:// localhost:8069/web?debug=1#menuid=102&action=94. Furthermore, if you want debug mode with assets, then change the URL to <http://localhost:8069/web?debug=assets#menu> id=102&action=94.
退出开发者模式
小贴士 自odoo13之后,调试模式有所改变。调试模式是存储在sessino中的,即便你移除了url当中的?debug,依旧debug模式。
在开发者模式下会有两个改变
注意! 请在非开发者模式下调试你的应用,否则会可能忽略一些潜在的问题。
当你新建了一个模块儿的时候,妞妞其实是不知道的,所以需要你进行手动的刷新。
这里就放两张图
当我们点击了更新按钮的时候,妞妞会去读取add-ons path中配置的路径中的文件。并查找每一个manifest.py文件,这里包含着模块的相关信息。如果在文件当中包含installable=False。那么这一个模块儿信息将不会被写入数据库。如果模块已经存在那么会更新相关信息,如果不存在则新建。
小贴士 手动更新主要是在完成数据库初始化之后新增的模块。
# 数据初始化 python3 odoo-bin -d odoo-test -i base --addons-path=addons --db-filter=odoo-test # 启动 ./odoo-bin -c odoo.conf
有几种方式去设置odoo的开发环境介绍到这里,更多Python学习请参考编程字典Python教程 和问答部分,谢谢大家对编程字典的支持。
原文链接:https://www.cnblogs.com/xushuotec/p/14433056.html