postgresql - 如何在非英语语言中使用 GraphQL 枚举?邮寄的

标签 postgresql enums graphql postgraphile

我正在使用 postgraphile(一个用 GraphQL api 包装你的 Postgres 数据库的库),我有一些希伯来语的枚举。

正如 GraphQL 规范中所写,枚举值必须是名称 - 使用此正则表达式限制为 ASCII 子集:

/[_A-Za-z][_0-9A-Za-z]*/

我想使用 Postgres 枚举类型来验证我的枚举列。 Postgraphile 将 Postgres 枚举转换为 GraphQLEnum 类型,当值不在上述名称标准中时会导致错误(因为一些枚举是希伯来语)。

您将如何使用不同语言的枚举值?

最佳答案

如您所述,目前 GraphQL 规范仅允许匹配 Name 正则表达式的枚举值:

EnumValue:: Name but not true, or false or null

-- https://facebook.github.io/graphql/draft/#sec-Enum-Value

Name:: /[_A-Za-z][_0-9A-Za-z]*/

-- https://facebook.github.io/graphql/draft/#Name

我认为用其他语言表达枚举的愿望很有吸引力;我建议您帮助制定一个提案来解决 GraphQL 规范本身中的这些问题,您可以在 GitHub 上的 GraphQL 规范存储库中执行此操作。关于这个主题已经有一个 Unresolved 问题,您可以贡献您的见解:

https://github.com/facebook/graphql/issues/256

小心(并使用像 UAX#31 这样的资源),可以扩展 GraphQL 的语法以启用多语言标识符,而无需诉诸像 "punycode" 这样的方法。 .

关于postgresql - 如何在非英语语言中使用 GraphQL 枚举?邮寄的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54503228/

相关文章:

amazon-web-services - 使用 RDS 后端修改 AWS Amplify 中的解析器

仅在没有 FK 引用时检索的 SQL

php 脚本在 postgresql 上运行时重复自身

postgresql - 如果已经存在空记录,如何在 seqeulize 中添加非空约束?

node.js - 如何使用 GraphQL 在嵌套对象上创建突变?

php - 带有 Laravel Lighthouse 的 GraphQL 解析器返回字符串而不是 JSON

sql - POSTGRESQL 中同一行的两个结果

java - 枚举到字符串的转换

c# - 仅显示枚举的部分选项

swift - 通过枚举显示多个 UICollectionViewCells?