如何将 Prisma/GraphQL 连接到现有的 MySQL 数据库(特别是 WordPress)?

How can one connect Prisma/GraphQL to an existing MySQL DB (specifically WordPress)?

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

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

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

一个简单的答案是:将 Prisma 连接到任何 MySQL 数据库所需要做的就是 Hostport(3306 因为这是 MYSQL) DB 所在的位置 运行.

这让我们知道您的 Prisma Server 在哪里 运行?

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

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

update: Regard connecting to an existing DB, If you tried to do a prisma deploy on a DB with a different schema it probably gonna blow and complain about the schema conflict, that's why you need introspection for before but as you mentioned in the comment it's only for PostgreSQL at the moment, they are working on creating a tool for MySQL but it's no one knows when it could be out you can check for updates on the open issue with this feature here

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

对于学习项目,您可以选择任何解决方案。在 Prisma/ReactNative 和 WordPress 之间共享 MySQL,您会感到快乐和痛苦。

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