Apollo/GraphQL:用于时间戳的字段类型?

Vik*_*ikR 5 postgresql graphql apollostack

我正在将一个值存储到类型为 的 postgres 字段中timestamp with time zone。我在 Apollo 模式中将该字段定义为 int,但在解析器中收到此错误消息:

列“apptDateTime”的类型为带时区的时间戳,但表达式的类型为整数

查找GraphQL 数据类型,我还没有看到任何被引用为与时间戳类型字段相对应的类型。

对于数据库中时间戳类型的字段,在 Apollo 模式中使用的正确字段类型是什么?

Vik*_*ikR 2

我的突变工作正常,其中包括带有时区的时间戳类型字段。我通过将 apptDateTime 字段的架构从 Int 更改为 String,并传入 ISO 字符串来完成此操作。Sequelize 和 Postgres 负责将其更改为 Timestamp with Time Zone 类型的字段。

2021 年更新:

这是我这些天正在使用的。

续集:

  timeOfNonce: {type: Sequelize.DATE} 
Run Code Online (Sandbox Code Playgroud)

架构:

 scalar DATETIME
 .....
 timeOfNonce: DATETIME
Run Code Online (Sandbox Code Playgroud)

这些天我让 Sequelize 通过以下方式定义我的 SQL 表:

const deleteAllData_fromThisModel = false;
const alterThisTableToMatchDBConnectorsModel = true;

myDataModel.sync({force: deleteAllData_fromThisModel, 
                  alter: alterThisTableToMatchDBConnectorsModel}).then(err => {
    console.log('myDataModel has been synced')
}).catch(err => {
    throw err
});
Run Code Online (Sandbox Code Playgroud)

  • 你能展示一下你的代码吗?你不需要: require('pg').types.setTypeParser(1114, function(stringValue) { return new Date(stringValue + "+0000"); // 例如,UTC 偏移量。使用您想要的任何偏移量。 }); (2认同)