【问题标题】:How can one connect Prisma/GraphQL to an existing MySQL DB (specifically WordPress)?如何将 Prisma/GraphQL 连接到现有的 MySQL 数据库(特别是 WordPress)?
【发布时间】:2019-07-30 17:26:27
【问题描述】:

我一直在使用 Prisma 自学 GraphQL —— 两者都是初学者。

我刚刚进行了一次编程测试,其中的简介是将 React Native 前端连接到 WordPress 后端。我认为这可能是一个将 Prisma 和 GraphQL 付诸实践的有趣机会。我的想法是将 Prisma 连接到 WP MySQL DB,然后使用 Prisma-GraphQL 连接到 React Native。

然而,将 Prisma 连接到 MySQL 似乎并不是那么简单——至少对我这个初学者来说是这样。我欢迎任何关于如何解决这个问题的信息——当然不是详细的代码,而是更多地做我想做的事情是否合理,以及哪些包/路线是最好的前进方式。谢谢!

【问题讨论】:

    标签: mysql wordpress graphql prisma prisma-graphql


    【解决方案1】:

    一个简单的答案是:将 Prisma 连接到任何 MySQL 数据库所需的只是一个 Host 和一个 port(3306,因为这是 MYSQL)数据库所在的位置正在运行。

    这将引导我们了解您的 Prisma 服务器在哪里运行?

    如果您只是一个前端开发人员并且您不知道或不想处理像 docker 这样的东西,那么您最好使用像 Prisma Cloud 这样的东西,它会为您提供一个 Prisma 服务器并且还可以托管MySQL 数据库,或者您可以自己托管它并选择拥有现有数据库选项并提供您在创建 Prisma 服务器期间拥有它的主机名(URL)。

    另一方面,如果您愿意在本地或使用 Docker (Local Prisma Setup) 在云提供商上运行它,那么您只需提供主机和端口,如您在 docker-compose 配置文件中的文档链接中所见到棱镜。

    更新: 关于连接到现有数据库,如果您尝试在具有不同架构的数据库上执行prisma deploy,它可能会吹响并抱怨架构冲突,这就是您之前需要自省的原因,但正如您在评论中提到的那样,它只是目前对于 PostgreSQL,他们正在努力为 MySQL 创建一个工具,但没有人知道它什么时候可以发布,您可以使用此功能检查未解决问题的更新here

    希望这可以帮助简化一些事情。

    【讨论】:

    • 这适用于已经有数据的现有数据库吗?那么prisma deploy 会发生什么?显然,我有点困惑——在我一直关注的示例中,Prisma 控制了数据库。您能否指出我讨论使用数据连接到现有数据库的部分?我找不到它。另外,我假设需要为数据库编写所有模式,因为它们具有的自省功能仅适用于 PostgreSQL?
    • @Cerulean 我用对此的回应更新了答案。
    【解决方案2】:

    对于学习项目,您可以选择任何解决方案。使用 Prisma/ReactNative 和 WordPress 之间共享的 MySQL,您会感到既有趣又痛苦。

    对于实际项目,应避免在不同应用程序之间共享一个数据库。在您的情况下,正确的架构师决定是使用 WPGraphQL 而不是 Prisma。它将通过 WordPress 插件为您提供 GraphQL。

    【讨论】:

      猜你喜欢
      • 2020-12-16
      • 2015-01-25
      • 1970-01-01
      • 2017-08-11
      • 2021-08-27
      • 2018-10-18
      • 2015-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多