跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. odoo12数据迁移问题

odoo12数据迁移问题

已定时 已固定 已锁定 已移动 已解决 Odoo 开发与实施交流
27 帖子 2 发布者 9.3k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • W 离线
    W 离线
    weih87
    在 回复了 digitalsatori 最后由 编辑
    #5

    @digitalsatori 新服务器导入数据库之后都无法登陆,一登陆就显示500错误,无法进入开发者模式。。。

    1 条回复 最后回复
    0
    • digitalsatoriD 离线
      digitalsatoriD 离线
      digitalsatori 管理员
      写于 最后由 编辑
      #6

      可以在odoo的启动参数里重新初始化你的muk-theme,

      odoo-bin -d YourDB -i muk-theme
      

      把YourDB替换你的数据库名称, muk-theme替换为实际的主题addon名称

      【上海先安科技】(tony AT openerp.cn)

      W 1 条回复 最后回复
      0
      • W 离线
        W 离线
        weih87
        在 回复了 digitalsatori 最后由 编辑
        #7

        @digitalsatori 在docker里怎么执行这行命令呢?

        1 条回复 最后回复
        0
        • digitalsatoriD 离线
          digitalsatoriD 离线
          digitalsatori 管理员
          写于 最后由 digitalsatori 编辑
          #8

          试试下面这样:

          docker-compose run --rm web odoo -d YourDB -i muk-theme --addons-path=/mnt/extra-addons
          

          【上海先安科技】(tony AT openerp.cn)

          W 1 条回复 最后回复
          0
          • W 离线
            W 离线
            weih87
            在 回复了 digitalsatori 最后由 weih87 编辑
            #9

            @digitalsatori 运行之后没有报错,更新:还是会报错,前面是数据库名弄错新建了个数据库才导致的无报错。
            而且无法访问,似乎是8069端口没有映射出来?
            以下是运行之后的日志

            root@v-1:~/odoo# docker-compose run --rm web odoo -d md2 -i muk_web_theme
            Starting odoo_db_1 ...
            Starting odoo_db_1 ... done
            2019-12-11 06:27:17,227 1 INFO ? odoo: Odoo version 12.0-20191106
            2019-12-11 06:27:17,228 1 INFO ? odoo: Using configuration file at /etc/odoo/odoo.conf
            2019-12-11 06:27:17,229 1 INFO ? odoo: addons paths: ['/var/lib/odoo/addons/12.0', '/opt/odoo/addons', '/usr/lib/python3/dist-packages/odoo/addons']
            2019-12-11 06:27:17,231 1 INFO ? odoo: database: odoo@db:5432
            2019-12-11 06:27:17,434 1 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf
            2019-12-11 06:27:17,667 1 INFO ? odoo.service.server: HTTP service (werkzeug) running on e8c6a7336a19:8069
            2019-12-11 06:27:17,695 1 INFO md2 odoo.modules.loading: loading 1 modules...
            2019-12-11 06:27:17,720 1 INFO md2 odoo.modules.loading: 1 modules loaded in 0.02s, 0 queries
            2019-12-11 06:27:17,893 1 INFO md2 odoo.modules.loading: updating modules list
            2019-12-11 06:27:17,901 1 INFO md2 odoo.addons.base.models.ir_module: ALLOW access to module.update_list on [] to user __system__ #1 via n/a
            2019-12-11 06:27:18,910 1 ERROR md2 odoo.modules.graph: module muk_web_theme: Unmet dependencies: muk_web_utils
            2019-12-11 06:27:18,910 1 ERROR md2 odoo.modules.graph: module muk_web_utils: Unmet dependencies: muk_autovacuum
            2019-12-11 06:27:18,911 1 INFO md2 odoo.modules.loading: loading 62 modules...
            2019-12-11 06:27:19,860 1 INFO md2 odoo.modules.loading: 62 modules loaded in 0.95s, 0 queries
            2019-12-11 06:27:21,240 1 INFO md2 odoo.modules.loading: Modules loaded.
            
            
            
            1 条回复 最后回复
            0
            • digitalsatoriD 离线
              digitalsatoriD 离线
              digitalsatori 管理员
              写于 最后由 编辑
              #10

              之前的命令里漏了addons-path你再试试

              【上海先安科技】(tony AT openerp.cn)

              W 1 条回复 最后回复
              0
              • W 离线
                W 离线
                weih87
                在 回复了 digitalsatori 最后由 weih87 编辑
                #11

                @digitalsatori 路径已经被我修改成和之前的服务器一样的路径 /opt/odoo/addons 了,执行这条命令日志输出如下

                root@v-1:~/odoo# docker-compose run --rm web odoo -d md2 -i muk_web_theme --addons-path=/opt/odoo/addons
                Starting odoo_db_1 ... done
                2019-12-11 06:39:29,342 1 INFO ? odoo: Odoo version 12.0-20191106
                2019-12-11 06:39:29,343 1 INFO ? odoo: Using configuration file at /etc/odoo/odoo.conf
                2019-12-11 06:39:29,343 1 INFO ? odoo: addons paths: ['/var/lib/odoo/addons/12.0', '/opt/odoo/addons', '/usr/lib/python3/dist-packages/odoo/addons']
                2019-12-11 06:39:29,344 1 INFO ? odoo: database: odoo@db:5432
                2019-12-11 06:39:29,521 1 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf
                2019-12-11 06:39:29,761 1 INFO ? odoo.service.server: HTTP service (werkzeug) running on 744949dbcdd6:8069
                2019-12-11 06:39:29,781 1 INFO md2 odoo.modules.loading: loading 1 modules...
                2019-12-11 06:39:29,810 1 INFO md2 odoo.modules.loading: 1 modules loaded in 0.03s, 0 queries
                2019-12-11 06:39:29,971 1 INFO md2 odoo.modules.loading: updating modules list
                2019-12-11 06:39:29,976 1 INFO md2 odoo.addons.base.models.ir_module: ALLOW access to module.update_list on [] to user __system__ #1 via n/a
                2019-12-11 06:39:31,021 1 ERROR md2 odoo.modules.graph: module muk_web_theme: Unmet dependencies: muk_web_utils
                2019-12-11 06:39:31,022 1 ERROR md2 odoo.modules.graph: module muk_web_utils: Unmet dependencies: muk_autovacuum
                2019-12-11 06:39:31,023 1 INFO md2 odoo.modules.loading: loading 62 modules...
                2019-12-11 06:39:32,017 1 INFO md2 odoo.modules.loading: 62 modules loaded in 0.99s, 0 queries
                2019-12-11 06:39:33,424 1 INFO md2 odoo.modules.loading: Modules loaded.
                
                
                1 条回复 最后回复
                0
                • digitalsatoriD 离线
                  digitalsatoriD 离线
                  digitalsatori 管理员
                  写于 最后由 编辑
                  #12

                  这样执行命令是不对的,因为在你的docker-compose.yml文件中是这样定义的:

                  volumes:
                        - odoo-web-data:/var/lib/odoo
                        - ./config:/etc/odoo
                        - ./addons:/mnt/extra-addons
                  

                  所以你的muk-xxx这些外部addon是放在docker 目录下addons子目录中然后映射到docker的/mnt/extra-addons目录的
                  所以docker中的Odoo需要指定一个addons目录指向/mnt/extra-addons

                  【上海先安科技】(tony AT openerp.cn)

                  W 1 条回复 最后回复
                  0
                  • W 离线
                    W 离线
                    weih87
                    在 回复了 digitalsatori 最后由 编辑
                    #13

                    @digitalsatori docker-compose.yml文件已经改了

                    root@v-1:~/odoo# cat docker-compose.yml
                    version: '2'
                    services:
                      web:
                        image: odoo:12.0
                        depends_on:
                          - db
                        ports:
                          - "8069:8069"
                        volumes:
                          - odoo-web-data:/var/lib/odoo
                          - ./config:/etc/odoo
                          - ./addons:/opt/odoo/addons
                      db:
                        image: postgres:10
                        environment:
                          - POSTGRES_DB=postgres
                          - POSTGRES_PASSWORD=odoo
                          - POSTGRES_USER=odoo
                          - PGDATA=/var/lib/postgresql/data/pgdata
                        volumes:
                          - odoo-db-data:/var/lib/postgresql/data/pgdata
                    volumes:
                      odoo-web-data:
                      odoo-db-data:
                    

                    odoo.conf文件也一并修改

                    root@v-1:~/odoo# cat ./config/odoo.conf
                    [options]
                    addons_path = /opt/odoo/addons
                    data_dir = /var/lib/odoo
                    admin_passwd = adminpassword
                    
                    

                    这样应该没问题吧?还是全部修改成和之前一样再试试?

                    1 条回复 最后回复
                    0
                    • W 离线
                      W 离线
                      weih87
                      写于 最后由 编辑
                      #14

                      全部改回来了,结果一样😧

                      root@v-1:~/odoo# docker-compose run --rm web odoo -d md2 -i muk_web_theme --addons-path=/mnt/extra-addons
                      Starting odoo_db_1 ...
                      Starting odoo_db_1 ... done
                      2019-12-11 07:08:51,785 1 INFO ? odoo: Odoo version 12.0-20191106
                      2019-12-11 07:08:51,786 1 INFO ? odoo: Using configuration file at /etc/odoo/odoo.conf
                      2019-12-11 07:08:51,788 1 INFO ? odoo: addons paths: ['/var/lib/odoo/addons/12.0', '/mnt/extra-addons', '/usr/lib/python3/dist-packages/odoo/addons']
                      2019-12-11 07:08:51,789 1 INFO ? odoo: database: odoo@db:5432
                      2019-12-11 07:08:51,983 1 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf
                      2019-12-11 07:08:52,217 1 INFO ? odoo.service.server: HTTP service (werkzeug) running on 32e8ca14f02d:8069
                      2019-12-11 07:08:52,253 1 INFO md2 odoo.modules.loading: loading 1 modules...
                      2019-12-11 07:08:52,286 1 INFO md2 odoo.modules.loading: 1 modules loaded in 0.03s, 0 queries
                      2019-12-11 07:08:52,489 1 INFO md2 odoo.modules.loading: updating modules list
                      2019-12-11 07:08:52,497 1 INFO md2 odoo.addons.base.models.ir_module: ALLOW access to module.update_list on [] to user __system__ #1 via n/a
                      2019-12-11 07:08:53,613 1 ERROR md2 odoo.modules.graph: module muk_web_utils: Unmet dependencies: muk_autovacuum
                      2019-12-11 07:08:53,614 1 ERROR md2 odoo.modules.graph: module muk_web_theme: Unmet dependencies: muk_web_utils
                      2019-12-11 07:08:53,615 1 INFO md2 odoo.modules.loading: loading 62 modules...
                      2019-12-11 07:08:54,556 1 INFO md2 odoo.modules.loading: 62 modules loaded in 0.94s, 0 queries
                      2019-12-11 07:08:56,019 1 INFO md2 odoo.modules.loading: Modules loaded.
                      
                      
                      1 条回复 最后回复
                      0
                      • digitalsatoriD 离线
                        digitalsatoriD 离线
                        digitalsatori 管理员
                        写于 最后由 编辑
                        #15

                        虽然仍然有dependencies的报错,但是系统看起来是正常的启动状态啊,访问系统显示什么?

                        【上海先安科技】(tony AT openerp.cn)

                        W 1 条回复 最后回复
                        0
                        • W 离线
                          W 离线
                          weih87
                          在 回复了 digitalsatori 最后由 编辑
                          #16

                          @digitalsatori 无法访问,似乎8069端口没有进行映射

                          1 条回复 最后回复
                          0
                          • digitalsatoriD 离线
                            digitalsatoriD 离线
                            digitalsatori 管理员
                            写于 最后由 digitalsatori 编辑
                            #17

                            我怀疑你之前的docker没有停掉,又用docker-compose新启了容器。

                            docker ps
                            

                            看一下,多个容器都对外映射8069端口就冲突了嘛
                            你可以用

                            docker-compose down
                            

                            或

                            docker rm xxxx
                            

                            来干掉容器,确保docker ps 下没有运行中的容器了,再用之前的命令行启动

                            【上海先安科技】(tony AT openerp.cn)

                            1 条回复 最后回复
                            0
                            • W 离线
                              W 离线
                              weih87
                              写于 最后由 编辑
                              #18

                              运行此行命令之前我已经使用 docker-compose stop 停止在运行的容器了
                              运行此命令之后看容器的运行情况如下

                              root@v-1:~# docker ps -a
                              CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                   PORTS                NAMES
                              750e72e9ce65        odoo:12.0           "/entrypoint.sh odoo…"   9 seconds ago       Up 7 seconds             8069/tcp, 8071/tcp   odoo_web_run_1
                              bc78100efb3b        odoo:12.0           "/entrypoint.sh odoo"    6 hours ago         Exited (0) 3 hours ago                        odoo_web_1
                              6d31bedbe487        postgres:10         "docker-entrypoint.s…"   5 days ago          Up 9 seconds             5432/tcp             odoo_db_1
                              
                              
                              1 条回复 最后回复
                              0
                              • digitalsatoriD 离线
                                digitalsatoriD 离线
                                digitalsatori 管理员
                                写于 最后由 编辑
                                #19

                                第一个运行中的docker确实没有端口映射出来。
                                如果猜得没错的话,你运行那个命令并没有在docker-compose.yml文件所在的目录下运行,所以该文件所定义的端口映射没有起作用。

                                【上海先安科技】(tony AT openerp.cn)

                                W 1 条回复 最后回复
                                0
                                • W 离线
                                  W 离线
                                  weih87
                                  在 回复了 digitalsatori 最后由 编辑
                                  #20

                                  @digitalsatori 确定工作目录是在docker-compose.yml所在的文件件,如果在别的路径以上命令根本无法运行。

                                  root@v-1:~# docker-compose run --rm web odoo -d md2 -i muk_web_theme --addons-path=/mnt/extra-addons
                                  ERROR:
                                          Can't find a suitable configuration file in this directory or any
                                          parent. Are you in the right directory?
                                  
                                          Supported filenames: docker-compose.yml, docker-compose.yaml
                                  
                                  

                                  之前我贴出来的日志都有带路径的,你可以看下,我的工作目录是~/odoo

                                  1 条回复 最后回复
                                  0
                                  • W 离线
                                    W 离线
                                    weih87
                                    写于 最后由 编辑
                                    #21

                                    看来我得认真看下docker的入门教程了,我现在只是知道怎么启动停止新建及删除而已,单单知道这些知识储备太不足了,稍稍遇到个问题就无法解决。。。

                                    1 条回复 最后回复
                                    0
                                    • digitalsatoriD 离线
                                      digitalsatoriD 离线
                                      digitalsatori 管理员
                                      写于 最后由 digitalsatori 编辑
                                      #22

                                      哈哈,回答你的问题也让我学到了:https://github.com/docker/compose/issues/1259

                                      docker-compose run命令竟然是不理会docker-compose.yml文件中的ports设定的,如果需要强制映射,需要加参数 --service-ports
                                      所以你的命令就应该是:

                                      docker-compose run --rm --service-ports web odoo -d md2 -i muk_web_theme --addons-path=/mnt/extra-addons
                                      

                                      【上海先安科技】(tony AT openerp.cn)

                                      W 1 条回复 最后回复
                                      0
                                      • W 离线
                                        W 离线
                                        weih87
                                        在 回复了 digitalsatori 最后由 编辑
                                        #23

                                        @digitalsatori 在 odoo12数据迁移问题 中说:

                                        docker-compose run --rm --service-ports web odoo -d md2 -i muk_web_theme --addons-path=/mnt/extra-addons

                                        可以访问了,和之前的问题一样,启动时日志提示错误,两个未知依赖项muk_web_utils 和 muk_autovacuum,前台访问后日志显示登陆成功,之后再报一个错误 ERROR md2 werkzeug: Error on request:

                                        完整的日志如下

                                        root@v-1:~/odoo# docker-compose run --rm --service-ports web odoo -d md2 -i muk_web_theme --addons-path=/mnt/extra-addons | grep ERROR
                                        Starting odoo_db_1 ...
                                        Starting odoo_db_1 ... done
                                        2019-12-12 05:55:30,117 1 ERROR md2 odoo.modules.graph: module muk_web_theme: Unmet dependencies: muk_web_utils
                                        2019-12-12 05:55:30,117 1 ERROR md2 odoo.modules.graph: module muk_web_utils: Unmet dependencies: muk_autovacuum
                                        2019-12-12 05:55:41,807 1 ERROR md2 werkzeug: Error on request:
                                        
                                        
                                        1 条回复 最后回复
                                        0
                                        • digitalsatoriD 离线
                                          digitalsatoriD 离线
                                          digitalsatori 管理员
                                          写于 最后由 digitalsatori 编辑
                                          #24

                                          你没有贴全错误日志,错误日志最重要的是最后面若干行的内容。

                                          如果确实是这个启动不成功的模块导致的,你可以先在原来的环境里卸载模块然后再将数据库恢复到docker的环境里。确保能登录系统了,再来看是否能再次安装该模块。

                                          另外,docker-compose run命令是一个用于调试的临时启动container的命令,后面的--rm确保在退出时可以把该命令生成的container删除。

                                          你其实可以用docker-compose up -d 正常启动container, 然后使用命令

                                          docker exec -ti odoo_web_run_1 /bin/bash
                                          

                                          其中odoo_web_run_1是你已启动的container的名字

                                          上述命令之后,你就在container里了,你可以和原来不用container时一样来调试odoo,

                                          比如查看一下/mnt/extra_addons目录是否存在,里面是否有你的模块,查看一下文件/文件夹权限是否正确,
                                          也可以用psql连接到数据库,比如:

                                          psql -hdb -Uodoo -dYourDBName
                                          

                                          访问数据库

                                          【上海先安科技】(tony AT openerp.cn)

                                          W 1 条回复 最后回复
                                          0

                                          • 登录

                                          • 没有帐号? 注册

                                          • 登录或注册以进行搜索。
                                          • 第一个帖子
                                            最后一个帖子
                                          0
                                          • 版块
                                          • 标签
                                          • 热门
                                          • 用户
                                          • 群组