1

我想将 ScalarDB 与在 DynamoDB 中创建的名为 user 的模式一起使用。

例如,用户模式定义如下

{
  "sample_db.user": {
    "transaction": true,
    "partition-key": [
      "user_id".
    ],
    "clustering-key": [],
    "columns": {
      "user_id": "TEXT",
      "user_name": "TEXT",
      "status": "TEXT"
    },
    "ru": 5000,
    "compaction-strategy": "LCS",
    "secondary-index": [
      "status": "TEXT"
    ]
  }
}

我能够在 DynamoDB 中创建此用户模式。但是,当我使用 ScalarDB 功能对此模式执行 CRUD 处理时,DynamoDB 返回语法冲突错误,因为“状态”是保留字。

这里总结了 DynamoDB 的保留字。 https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/ReservedWords.html

在这种情况下,我想知道使用 ScalarDB 的工程师是否应该考虑到这个问题来定义他们的架构。如果未来的改进可以在列名中使用特定于数据库的保留字并仍然使用 ScalarDB 功能,我会很高兴。

4

1 回答 1

2

此问题已在以下 PR 中修复:
https ://github.com/scalar-labs/scalardb/pull/264

此修复将在下一个版本中发布:Scalar DB 3.2.0、3.1.1 和 3.0.2。

于 2021-08-04T14:58:30.693 回答