You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何保留现有数据更新本地Shopware 6 Docker环境

Shopware 6 Docker环境保留现有数据更新方案

./psh.phar install是全新初始化命令,执行后会清空现有数据库、写入默认演示数据,更新场景绝对不能直接运行。

升级前必做

  • 全量备份所有持久化数据:包括MySQL库数据、public目录下的媒体/上传文件、根目录.env配置、第三方插件的私有存储文件。Docker部署场景直接备份docker-compose配置里挂载的所有持久化卷目录即可,备份时建议先停掉容器避免写入导致备份不一致,备份完成再启动容器操作。
  • 提前确认所有已安装的第三方插件、自定义主题兼容目标升级版本,不兼容的提前准备适配包,避免升级后功能报错。
  • 跨大版本升级(比如6.4.x升6.5.x)不要跨版本跳升,先升级到当前大版本的最新小版本,再逐次升到目标大版本,否则容易出现迁移脚本执行失败、数据结构不兼容的问题。

具体操作步骤

  1. 进入运行中的Shopware应用容器:
    docker exec -it <替换成你实际的shopware容器名称> bash
    
  2. 执行更新流程,二选一即可:
    • 用psh脚本一键执行(推荐,不容易漏步骤):
      ./psh.phar update
      
      这个命令是官方专门为更新场景设计的,不会重置现有数据,会自动完成依赖更新、数据库结构迁移、插件升级、主题重编译、缓存清理全流程。
    • 手动分步执行(适合需要自定义更新逻辑的场景):
      如果你是Composer管理的项目,先更新核心代码依赖:
      # 把x.y.z替换为你要升级到的具体目标版本号
      composer require shopware/core:x.y.z shopware/administration:x.y.z shopware/storefront:x.y.z --with-all-dependencies --no-update
      composer update --no-interaction
      
      如果你是用官方预构建Docker镜像部署,直接修改docker-compose.yml里的Shopware镜像标签为目标版本,执行docker compose up -d拉取新镜像重启容器即可,不需要手动跑composer命令。
      之后依次执行数据库迁移、插件更新、资源编译、缓存清理:
      # 执行核心表结构迁移
      bin/console database:migrate --all
      bin/console database:migrate-destructive --all
      # 刷新插件列表并升级所有已安装插件
      bin/console plugin:refresh
      bin/console plugin:update --all
      # 重编译前后台主题资源
      bin/console theme:compile
      # 清理系统缓存
      bin/console cache:clear
      

升级后校验

  • 登录后台确认历史商品、订单、客户数据完整存在,没有丢失。
  • 访问前台检查页面加载、媒体资源展示、下单支付等核心流程正常。
  • 逐一验证已安装插件的功能可用,没有报错。

内容的提问来源于stack exchange,提问作者Joshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 15:30:05