如何解决Homegraph 概念数据库架构权限
我正在尝试根据 Homegraph 概念为我的 PostgreSQL 数据库创建架构,但是我不确定当前架构的正确性以及用户是否应该具有每个结构或每个设备的访问权限。 我找不到 Homegraph 概念实现的任何真实示例,而且 Google 似乎没有提供此类信息。
CREATE EXTENSION hstore;
CREATE TABLE users (
id CHAR(32) NOT NULL,username TEXT NOT NULL,email TEXT UNIQUE NOT NULL,password_hash TEXT NOT NULL,PRIMARY KEY (
id
)
);
CREATE TABLE user_structures (
structure_id CHAR(32) REFERENCES structures (id) ON DELETE CASCADE,user_id CHAR(32) REFERENCES users (id) ON DELETE CASCADE,manager BOOL NOT NULL,PRIMARY KEY (
structure_id,user_id,)
);
CREATE TABLE structures (
id CHAR(32) UNIQUE NOT NULL,label TEXT NOT NULL,PRIMARY KEY (
id
)
);
CREATE TABLE rooms (
id CHAR(32) UNIQUE NOT NULL,structure_id CHAR(32) REFERENCES structures (id) ON DELETE CASCADE,label TEXT NOT NULL,PRIMARY KEY (
room_id
)
);
CREATE TABLE devices (
id CHAR(32) UNIQUE NOT NULL,room_id CHAR(32) REFERENCES room (id) ON DELETE CASCADE,password_hash TEXT NOT NULL,type TEXT NOT NULL,traits TEXT[] NOT NULL,name TEXT NOT NULL,will_push_state BOOL NOT NULL,model TEXT NOT NULL,hw_version TEXT NOT NULL,sw_version TEXT NOT NULL,attributes hstore NOT NULL,PRIMARY KEY (
id,structure_id
)
);
解决方法
关于 devices
表,有一个规范的 protobuf 定义每个字段及其类型。
除此之外,HomeGraph 架构的实现是 Google 智能家居平台的内部定义,从开发人员的角度来看,其结构应该无关紧要。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。