在另一个表列

时间:2018-06-06 11:53:08

标签: sql postgresql sequelize.js

我有一个处理各种服务配置的数据库。一个表包含存储数据的位置和数据所属的数据等,另一个表包含如何收集数据的配置(CollectionConfigFTP,CollectionConfigAPI等)。可以有许多表来保存数据收集配置,但只有一个表用于数据属于谁(DataTable)。目前我有一个数据检索类型,我在DataTable上检查它是否转到正确的CollectionConfig表以获取服务的配置。我在一个唯一的DataTable UUID上链接这两个,但我无法弄清楚我将如何强制执行DataTable UUID必须在其中一个配置表中,反之亦然。我试图在CollectionConfig表上有一个单面约束:

                    "onUpdate": "CASCADE",
                    "onDelete": "SET NULL",
                    "references": {
                        "model": {
                            "tableName": "DataTable",
                            "table": "DataTable",
                            "name": {
                                "tableName": "DataTable",
                                "$schema": "collection",
                                "$schemaDelimiter": ""
                            },
                            "schema": "collection",
                            "delimiter": "."
                        },
                        "key": "DataTableGUID"

但它引发了一个错误:

 SequelizeDatabaseError: relation "collection.DataTable" does not exist.

我注意到可以选择添加约束,但我不知道如何在任何地方引用表。

queryInterface.addConstraint('Users', ['roles'], {
  type: 'check',
  where: {
     roles: ['user', 'admin', 'moderator', 'guest']
  }
});

0 个答案:

没有答案