这功能我不会 2025-05-27 08:56 采纳率: 0%
浏览 8

线上 Strapi 运行之后,线上数据库没有同步到本地创建的表

在本地创建表和增删改表字段之后,提交到git仓库,然后拉取最新代码同步到线上自动化部署 npm run install --> npm run build --> npm run start:prod
但是运行之后,线上的数据库没有同步到本地创建表和增删改的表。
注:线上数据与本地数据不一样,二者不能覆盖,只更新增删改的表结构

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-05-27 08:56
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解答

    你遇到的问题是 Strapi 在线上运行后,线上数据库没有同步到本地创建的表。这可能是因为 Strapi 的数据库同步机制默认情况下是异步的,需要手动触发同步。

    你可以尝试以下解决方案:

    1. 使用 Strapi 的 strapi db:push 命令来同步数据库。这个命令可以将本地数据库同步到远程数据库。
    strapi db:push
    
    1. 在 Strapi 的配置文件 strapi.config.js 中添加以下代码来启用同步:
    module.exports = ({ env }) => ({
      // ...
      db: {
        // ...
        sync: true,
      },
    });
    
    1. 如果你使用的是 Strapi 的 Docker 镜像,可以使用 docker-compose 文件中的 command 选项来启用同步:
    version: '3'
    services:
      strapi:
        image: strapi/strapi
        command: ["strapi", "db:push"]
        // ...
    
    1. 如果你遇到同步问题,可以尝试使用 Strapi 的 strapi db:pull 命令来同步远程数据库到本地数据库。
    strapi db:pull
    

    这些解决方案可以帮助你解决 Strapi 在线上运行后,线上数据库没有同步到本地创建的表的问题。如果你仍然遇到问题,可以提供更多的信息和错误日志,以便更好地帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 修改了问题 5月27日
  • 修改了问题 5月27日
  • 创建了问题 5月27日