Upgrade
官方支持低版本的数据库升级到高版本,本节我们来看一下如何使用官方提供的脚本对现有的数据库进行升级。
先决条件
想要把低版本的数据库升级到高版本需要满足两个条件:
- 官方正版授权数据库
- 没有第三方模块或第三方模块已经升级到目标版本
如果是在同一台服务器上进行升级,那么需要先卸载旧版本的odoo再安装新版本,或是新旧两个版本共存。
数据备份
在满足了上述两个条件以后我们就可以开始进行升级了,不过在此之前,还是建议用户进行数据备份。
如果是官网saas版本或odoo.sh版本,可以使用官网提供的备份工具。如果是自建服务器,那么可以根据自己的情况自行备份。
升级步骤
下面我们开始正式升级。
截止目前,官方脚本对于17.0仅支持测试模式,不支持生产模式。
- 首先我们运行官方提供的升级脚本
python <(curl -s https://upgrade.odoo.com/upgrade) test -d <your db name> -t <target version>
- 升级完成之后,脚本会提示:
...
Neutralization finished
Upgrading: 8 minutes, 48.84 seconds
Dumping db_1220337 into /home/odoo/data/upgraded.dump ...
2024-01-19 02:18:16 INFO: Dumping: 4.41 seconds
Upgrade request successfully processed!
A detailed report of the upgrade is available in the Discuss app in the Administrators channel.
Processing time: 9 minutes, 2.94 seconds
2024-01-19 02:18:32 INFO: Downloading the database dump and its filestore from odoo@as1.upgrade.odoo.com:/data.
37,776,504 100% 15.64MB/s 0:00:02 (xfr#1831, to-chk=0/2271)
2024-01-19 02:18:38 INFO: Restore the dump file 'upgraded.dump' as the database 'xxxx_test_17.0_2024_01_19_14_08'
2024-01-19 02:19:06 INFO: Merging the new filestore with the old one in /opt/odoo/.local/share/Odoo/filestore/xxxxx_test_17.0_2024_01_19_14_08 ...
脚本运行完成之后,在数据库中会多出一个xxx_test_xxx开头的数据库。
我们进入这个test的数据库,去检查数据是否完整。
升级结束。
17.0的测试转生产
由于目前17.0仅支持测试模式,那么我们如果想要正式使用该如何处理呢?
去掉test标志
首先我们要去掉test标志,在设置-视图中找到_upgrade_开头的视图,关掉他们
执行一次全模块升级
因为版本差异, 我们在切换到目标数据库之后最好执行一次全模块升级,以覆盖掉可能出现的静态资源错误。