【问题标题】:How to run Odoo 8 along with Odoo 9?如何将 Odoo 8 与 Odoo 9 一起运行?
【发布时间】:2015-11-20 02:35:30
【问题描述】:

我已经安装了 Odoo 8.0 和 9.0。我的 Odoo 8.0 在端口 8069 上工作正常,但是当我安装 Odoo 9.0 并让它在端口 8070 上工作时,Odoo 8.0 现在抛出 500 服务器错误。

我尝试从头开始重新安装 Odoo 8.0,但这次使用 virtualenv 因此它不会与 Odoo 9.0 的依赖项冲突,而是使用以下方式运行它:

(Odoo8venv)user@domain:~/Odoo8venv/bin/python ~/odoo-8.0/odoo.py -c ~/odoo-dev/custom.conf

仍然抛出错误:

2015-11-20 01:32:50,660 6772 ERROR test openerp.modules.graph: module website_partner: Unmet dependencies: website
2015-11-20 01:32:50,660 6772 ERROR test openerp.modules.graph: module portal: Unmet dependencies: share, auth_signup
2015-11-20 01:32:50,660 6772 WARNING test openerp.modules.graph: Some modules were not loaded.

我认为这是因为 Odoo 8.0 看到了使用 Odoo 9.0 创建的数据库。我应该在 Odoo 8.0 的不同端口上创建一个新的 postgresql 服务器吗?或者我怎样才能让它们都运行?

【问题讨论】:

  • 你可以运行你的服务器 --db-filter=你的数据库名称试试这个
  • @macdelacruz 能否与您的 custom.conf 设置分享您的问题
  • 考虑使用 Docker 运行 Odoo
  • 你检查你的db_user,端口?它们必须不同。
  • 如何在 Windows 中做同样的事情?有什么想法吗?

标签: python openerp odoo-8 odoo-9


【解决方案1】:

您可以同时运行这两个,您只需正确设置 addons-path、xmlrpc-port 和 db-filter。

在终端中(如果在基于 unix 的平台上),您可以创建自定义命令行,例如:

/home/odoo8/odoo8.py --xmlrpc-port 1337 --addons-path='/home/odoo8/addons' --db-filter=^odoo_8$
/home/odoo7/odoo7.py --xmlrpc-port 1337 --addons-path='/home/odoo7/addons' --db-filter=^odoo_7$

【讨论】:

    【解决方案2】:

    像这样设置配置文件odoo.conf

    [options]
    
    ; This is the password that allows database operations:
    
    ; admin_passwd = admin
    
    db_host = localhost
    
    db_port = 5432
    
    db_user = odoo_user11
    
    db_password = admin
    
    xmlrpc_port = 8011
    

    并用你的改变 db_user, db_password

    【讨论】:

      【解决方案3】:

      请检查您的 custom.conf 文件是否有错误的路径。这看起来你仍然有 odoo8 插件目录而不是 odoo9(至少是 openerp/ 目录)。

      是的,还有数据库的问题。 Odoo 9 使用了一些不同的模式,因此您需要创建一个新集群。 Ubuntu 有这方面的文档:http://manpages.ubuntu.com/manpages/hardy/man8/pg_createcluster.8.html

      创建集群后,sudo service postgresql restart 并使用不同的python odoo.py --config-filec=odoo9.config 文件和不同的db_port(您在使用pg_createcluster 时指定)。请注意,您还需要为 odoo 创建用户以在该新集群中使用。

      【讨论】:

      • 谢谢,你是对的。我已经预料到我需要使用不同的数据库端口(即另一个集群)从 Odoo 9 中隐藏 Odoo 8 数据库。
      【解决方案4】:

      您应该运行两个实例,一个用于 odoo8,一个用于 odoo9。为此,您应该为不同的实例创建两个 pg 用户。否则,odoo8 实例尝试读取 odoo9 数据库或 odoo9 实例尝试读取 odoo8 数据库时,您应该会收到 500 内部错误。

      【讨论】:

        【解决方案5】:

        只需更改 RPC 端口并打开 2 个终端,一个用于 odoo 8,另一个用于 odoo 9

        【讨论】:

          【解决方案6】:

          我个人使用了多个 postgres 用户选项。

          您有多种选择:

          多个 postgres 用户

          创建两个 postgres 用户(“odoo_8”和“odoo_9”)。

          在 odoo 8 的配置中,您将与 odoo_8 postgres 用户连接,在 odoo 9 上与 odoo_9 postgres 用户连接。

          这样您就不必处理 db_filters,因为它们是由用户分开的。

          Db 过滤器

          使用自己的前缀为您的 odoo 8 数据库添加前缀,并对 odoo 9 数据库执行相同操作。

          然后在配置文件中为您的前缀设置 db 过滤器。 dbfilter = *

          【讨论】:

            【解决方案7】:

            你需要使用 2 个不同的用户和 2 个不同的 db 用户

            查看下面的链接以获取有关如何操作的说明

            https://www.rosehosting.com/blog/install-multiple-odoo-instances-on-a-single-machine/

            希望对你有帮助

            祝你好运!

            【讨论】:

              【解决方案8】:

              只需使用注释更改端口 --xmlrpc-port=(4 digit port)

              1) 假设我们像 ./odoo-bin --xmlrpc-port='1111' 一样运行 odoo 8。我们可以从 frend 端以 localhost:1111 的身份访问 odoo8 服务器

              2) Odoo9 应该像 ./odoo-bin 一样正常运行。我们可以从 localhost:8069 访问 odoo9 服务器

              【讨论】:

                【解决方案9】:

                检查配置文件中的插件和临时数据目录。 windows文件中临时文件的位置相同,因此您可能会遇到一些错误。另外我建议对不同的版本使用不同的数据库用户。

                【讨论】:

                  【解决方案10】:

                  简单的方法是:

                  • 创建两个用户系统“odoo8”和“odoo9”。
                  • 在 /opt 上,您必须创建两个文件夹“/opt/odoo8”和“/opt/odoo9”。最好将它们作为每个用户的主页。
                  • 同时创建两个用户 postgresql 'odoo8' 和 'odoo9'。
                  • 这些文件夹必须包含所有适用于eatch 版本的插件。
                  • 然后在 /opt/etc 中创建两个文件,名为 odoo8.conf 和 odoo9.conf,具有不同的端口和数据库用户(例如 8008 和 8009)
                  • 您可以在 /etc/init.d 中创建两个服务

                  您可以访问我的脚本来执行此操作https://github.com/elhamdaoui/Odoo-install,只需更改 OE_USER 变量并启动它。

                  祝你好运

                  【讨论】:

                    【解决方案11】:

                    您可以使用 docker 2 为 odoo8 和 odoo9 创建两个单独的容器。您可以使用 docker run 命令创建 docker 容器。

                    docker run -tip your_port:docker_port -v your_folder:docker_folder --name your_container_name image_name

                    【讨论】:

                      【解决方案12】:

                      我在笔记本电脑上运行多个版本的 Odoo。这是我的把戏: 对于 odoo 8:

                      dbfilter = ^8_.*
                      

                      对于 odoo 9:

                      dbfilter = ^9_.*
                      

                      等等……或者你可以为每个版本的Odoo创建不同的postgresql用户,这样他们就看不到其他数据库了。

                      【讨论】:

                        【解决方案13】:

                        简单的解决方案是创建新用户来安装新的 Odoo 版本 就像您想在同一系统中使用 odoo 一样。 再创建一个用户并在 odoo 上安装。

                        【讨论】:

                          猜你喜欢
                          • 1970-01-01
                          • 2016-01-25
                          • 2016-01-11
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2017-01-18
                          相关资源
                          最近更新 更多