跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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
    写于 最后由 weih87 编辑
    #1

    odoo12数据迁移问题

    之前是使用源码安装的odoo12,安装在LINODE 10美元/月的VPS上,已经运行了一年了,现在想把这套系统迁移到国内的服务器上,不打算使用源码安装,因为我们的系统非常简单,就是在官方的基础上安装一套MUK后端主题,使用官方的docker-compose.yml一键运行odoo12非常简单,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:/mnt/extra-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:
    

    之后把MUK后端主题的文件上传到 ./addons,新建一个数据库,安装MUK主题完全正常,退出新建的数据为并删除它,在原来的系统上导到备份恢复到新系统上,在恢复的时候提示如下错误

    web_1  | 2019-12-10 08:19:59,857 1 ERROR md odoo.modules.graph: module muk_web_theme: Unmet dependencies: muk_web_utils
    web_1  | 2019-12-10 08:19:59,857 1 ERROR md odoo.modules.graph: module muk_web_utils: Unmet dependencies: muk_autovacuum
    db_1   | 2019-12-10 08:20:17.140 UTC [147] ERROR:  could not obtain lock on row in relation "ir_cron"
    
    
    

    恢复后可以看到恢复的数据库,尝试登陆日志会报如下错误

    web_1  | 2019-12-10 08:21:16,554 1 ERROR md werkzeug: Error on request:
    
    

    前台显示

    500 Internal Server Error
    The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
    
    

    请问怎么解决这个问题以正常迁移?

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

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

      muk_web_utils
      muk_autovacuum

      错误信息里提到的这两个模块有传到./addons目录下吗?

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

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

        @digitalsatori 有的,这个主题包含的四个组件都已经上传到./addons文件夹

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

          估计是你迁移前的addons路径和迁移后addons路径不一致造成的。
          如果你进入“开发者模式”,然后点击“更新模块列表”,是不是会有2组名字一样的muk相关的apps。重新安装下应该就可以了。

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

          W 1 条回复 最后回复
          0
          • 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

                                          • 登录

                                          • 没有帐号? 注册

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