跳至内容

odoo迁移记录

安装postgresql

 

1.更新安装源

#sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

 

2.安装postgresql-12

[root@VM-4-7-centos ~]# sudo yum -y install postgresql12-server postgresql12 postgresql-devel

 

3.修改profile参数文件

#vi .bash_profile

# .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

 

# User specific environment and startup programs

 

PATH=/usr/pgsql-12/bin:$PATH:$HOME/bin

 

export PATH

 

[root@VM-4-7-centos ~]# psql -V

psql (PostgreSQL) 12.13

 

4.初始化数据库

[root@VM-4-7-centos ~]# sudo /usr/pgsql-12/bin/postgresql-12-setup initdb

Initializing database ... OK

 

5.设置数据库开机自启动

[root@VM-4-7-centos data]# systemctl enable postgresql-12.service

Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-12.service to /usr/lib/systemd/system/postgresql-12.service.

 

6.启动数据库

[root@VM-4-7-centos data]# systemctl start postgresql-12.service

           ├─3802 postgres: stats collector  

           └─3803 postgres: logical replication launcher  

 

7.创建以下链接

[root@VM-4-7-centos bin]# ln -s /usr/pgsql-12/bin/psql /usr/bin/psql

[root@VM-4-7-centos bin]# ln -s /usr/pgsql-12/bin/createuser /usr/bin/createuser

 

 

 8创建一个PostgreSQL用户,与为Odoo创建的用户(odoo13和odoo14)使用相同的名称。

 

[root@VM-4-7-centos bin]# sudo su - postgres -c "createuser -s odoo13"

[root@VM-4-7-centos bin]# sudo su - postgres -c "createuser -s odoo14"

 

安装odoo13&odoo14

为odoo创建用户:

[root@VM-4-7-centos opt]# sudo useradd -m -U -r -d /opt/odoo13 -s /bin/bash odoo13

[root@VM-4-7-centos opt]# sudo useradd -m -U -r -d /opt/odoo14 -s /bin/bash odoo14

 

安装和配置odoo13

#git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo

一直无法成功,直接登录github下载odoo13后上传文件到服务器

 

[odoo13@VM-4-7-centos ~]$ unzip odoo-13.0.zip

[odoo13@VM-4-7-centos odoo-13.0]$ cd /opt/odoo13

[odoo13@VM-4-7-centos ~]$ ls

odoo-13.0  odoo-13.0.zip

 

为odoo13创建一个python虚拟环境:

[odoo13@VM-4-7-centos ~]$ cd /opt/odoo13

[odoo13@VM-4-7-centos ~]$ python3 -m venv odoo13-venv

[odoo13@VM-4-7-centos ~]$ ls

odoo-13.0  odoo-13.0.zip  odoo13-venv

 

激活虚拟环境:

[odoo13@VM-4-7-centos ~]$ source odoo13-venv/bin/activate

 

升级pip,并安装setuptools和Wheel库:

(odoo13-venv) [odoo13@VM-4-7-centos ~]$ pip install --upgrade pip

(odoo13-venv) [odoo13@VM-4-7-centos ~]$ pip install setuptools==57.5.0

(odoo13-venv) [odoo13@VM-4-7-centos ~]$ pip3 install wheel

 

 退出虚拟环境:

(odoo13-venv) [odoo13@VM-4-7-centos ~]$deactivate && exit

 

创建odoo13的配置文件:

[root@VM-4-7-centos ~]# cat /etc/odoo13.conf

[options]

db_host = False

db_port = False

db_user = odoo13

#limit_time_cpu = None

#limit_time_real = None

#db_name = bms

db_password = False

addons_path = /opt/odoo13/odoo-13.0/addons,/opt/odoo13/odoo-custom-addons

#/OdooAppBox,/opt/odoo13/odoo-custom-addons/OdooAppBox_addons-master/core,/opt/odoo13/odoo-custom-addons/OdooAppBox_addons-master/demo_for_odoo12

logfile = /var/log/odoo13/odoo13.log

logrotate = True

log_level = debug

xmlrpc_port = 8369

longpolling_port=8372

#workers = none

workers = 2

 

同步odoo-custom-addons下的代码文件

 

创建系统单元文件:

 

[root@VM-4-7-centos ~]# cat /etc/systemd/system/odoo13.service

[Unit]

Description=Odoo13

Requires=postgresql-12.service

After=network.target postgresql.service

[Service]

Type=simple

SyslogIdentifier=odoo13

PermissionsStartOnly=true

User=odoo13

Group=odoo13

ExecStart=/opt/odoo13/odoo13-venv/bin/python3 /opt/odoo13/odoo-13.0/odoo-bin -c /etc/odoo13.conf

#StandardOutput=journal+console --limit-time-real=10000

StandardOutput=journal+console

[Install]

WantedBy=multi-user.target

 

重新加载守护程序,使在systemd中创建的新单元可以启动odoo13的服务:

#systemctl daemon-reload

 

启用odoo13服务开机自启动:

#systemctl enable odoo13

 

恢复bms数据库:

[root@VM-4-7-centos odoo13]# su - postgres

postgres=# CREATE DATABASE "bms" WITH OWNER = odoo13 ENCODING = 'UTF8' LC_COLLATE = 'C' LC_CTYPE = 'en_US.UTF-8' TEMPLATE template0;

CREATE DATABASE

[odoo13@VM-4-7-centos bms_data_bak]$ psql -d bms -U odoo13 -f dump_bms_20230201.sql

 

安装和配置odoo14

#yum install python-devel,openldap-devel,python3-devel

[odoo143@VM-4-7-centos ~]$ tar -xvf odoo14.tar

 

为odoo14创建一个python虚拟环境:

[odoo14@VM-4-7-centos ~]$ cd /opt/odoo14

[odoo14@VM-4-7-centos ~]$ python3 -m venv odoo14-venv

[odoo14@VM-4-7-centos ~]$ ls

odoo14  odoo.tar  odoo14-venv

 

激活虚拟环境:

source odoo14-venv/bin/activate

 

在虚拟环境中安装 Python依赖包:

pip install wheel

pip install -r /opt/odoo/odoo14/requirements.txt

 

退出当前用户:

deactivate && exit

 

在原华为云上停止odoo14服务后做一个数据库的备份:

[odoo14@ecs-366f scripts]$ sh dump_XY.sh

dump_XY_2023-02-02.sql

 

在目标服务器上恢复欣云数据库:

systemctl stop odoo14

postgres=# drop database if exists xinyun1;

DROP DATABASE

 

[root@VM-4-7-centos bms_data_bak]# systemctl start odoo14

postgres=# CREATE DATABASE "XY" WITH OWNER = odoo14 ENCODING = 'UTF8' LC_COLLATE = 'C' LC_CTYPE = 'en_US.UTF-8' TEMPLATE template0;

psql -d XY -U odoo14 -f  dump_XY_2023-02-02.sql

 

 

 

Odoo开发基础