Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8cdd764

Browse files
PostgreSQL:更新表,解决缺少建表 CREATE TABLE 语句
1 parent dadad60 commit 8cdd764

16 files changed

+2753
-2231
lines changed

‎PostgreSQL/postgres_sys.sql

Lines changed: 2492 additions & 2231 deletions
Large diffs are not rendered by default.

‎PostgreSQL/single/postgres_sys_Access.sql

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,32 @@
1+
CREATE TABLE sys."Access"
2+
(
3+
id integer PRIMARY KEY NOT NULL,
4+
debug integer DEFAULT 0 NOT NULL,
5+
name varchar(50) DEFAULT '实际表名,例如 apijson_user'::character varying NOT NULL,
6+
alias text,
7+
get text DEFAULT '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]'::text NOT NULL,
8+
head text DEFAULT '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]'::text NOT NULL,
9+
gets text DEFAULT '["LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]'::text NOT NULL,
10+
heads text DEFAULT '["LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]'::text NOT NULL,
11+
post text DEFAULT '["OWNER", "ADMIN"]'::text NOT NULL,
12+
put text DEFAULT '["OWNER", "ADMIN"]'::text NOT NULL,
13+
delete text DEFAULT '["OWNER", "ADMIN"]'::text NOT NULL,
14+
date text DEFAULT CURRENT_TIMESTAMP NOT NULL
15+
);
16+
COMMENT ON COLUMN sys."Access".id IS '唯一标识';
17+
COMMENT ON COLUMN sys."Access".debug IS '是否为调试表,只允许在开发环境使用,测试和线上环境禁用';
18+
COMMENT ON COLUMN sys."Access".alias IS '外部调用的表别名,例如 User';
19+
COMMENT ON COLUMN sys."Access".get IS '允许 get 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]
20+
用 JSON 类型不能设置默认值,反正权限对应的需求是明确的,也不需要自动转 JSONArray。
21+
TODO: 直接 LOGIN,CONTACT,CIRCLE,OWNER 更简单,反正是开发内部用,不需要复杂查询。';
22+
COMMENT ON COLUMN sys."Access".head IS '允许 head 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]';
23+
COMMENT ON COLUMN sys."Access".gets IS '允许 gets 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]';
24+
COMMENT ON COLUMN sys."Access".heads IS '允许 heads 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]';
25+
COMMENT ON COLUMN sys."Access".post IS '允许 post 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]';
26+
COMMENT ON COLUMN sys."Access".put IS '允许 put 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]';
27+
COMMENT ON COLUMN sys."Access".delete IS '允许 delete 的角色列表,例如 ["LOGIN", "CONTACT", "CIRCLE", "OWNER"]';
28+
COMMENT ON COLUMN sys."Access".date IS '创建时间';
29+
CREATE UNIQUE INDEX access_alias_uindex ON sys."Access" (alias);
130
INSERT INTO sys."Access" (id, debug, name, alias, get, head, gets, heads, post, put, delete, date) VALUES (1, 1, 'Access', '', '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '[]', '[]', '[]', '2019年07月21日 12:21:36');
231
INSERT INTO sys."Access" (id, debug, name, alias, get, head, gets, heads, post, put, delete, date) VALUES (2, 1, 'Table', null, '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '["LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '["LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '[]', '[]', '[]', '2018年11月28日 16:38:14');
332
INSERT INTO sys."Access" (id, debug, name, alias, get, head, gets, heads, post, put, delete, date) VALUES (3, 1, 'Column', null, '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '["LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '["LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '[]', '[]', '[]', '2018年11月28日 16:38:14');

‎PostgreSQL/single/postgres_sys_Comment.sql

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
CREATE TABLE sys."Comment"
2+
(
3+
id bigint PRIMARY KEY NOT NULL,
4+
"toId" bigint DEFAULT 0 NOT NULL,
5+
"userId" bigint NOT NULL,
6+
"momentId" bigint NOT NULL,
7+
date timestamp(6),
8+
content varchar(1000) NOT NULL
9+
);
10+
COMMENT ON COLUMN sys."Comment".id IS '唯一标识';
11+
COMMENT ON COLUMN sys."Comment"."toId" IS '被回复的id';
12+
COMMENT ON COLUMN sys."Comment"."userId" IS '评论人id';
13+
COMMENT ON COLUMN sys."Comment"."momentId" IS '动态id';
14+
COMMENT ON COLUMN sys."Comment".date IS '创建日期';
15+
COMMENT ON COLUMN sys."Comment".content IS '内容';
116
INSERT INTO sys."Comment" (id, "toId", "userId", "momentId", date, content) VALUES (4, 0, 38710, 470, '2017年02月01日 11:20:50.000000', 'This is a Content...-4');
217
INSERT INTO sys."Comment" (id, "toId", "userId", "momentId", date, content) VALUES (13, 0, 82005, 58, '2017年02月01日 11:20:50.000000', 'This is a Content...-13');
318
INSERT INTO sys."Comment" (id, "toId", "userId", "momentId", date, content) VALUES (22, 221, 82001, 470, '2017年02月01日 11:20:50.000000', '测试修改评论');

‎PostgreSQL/single/postgres_sys_Document.sql

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,31 @@
1+
CREATE TABLE sys."Document"
2+
(
3+
id bigint PRIMARY KEY NOT NULL,
4+
"userId" bigint NOT NULL,
5+
version smallint NOT NULL,
6+
name varchar(100) NOT NULL,
7+
url varchar(250) NOT NULL,
8+
request text NOT NULL,
9+
response text,
10+
header text,
11+
date timestamp
12+
);
13+
COMMENT ON COLUMN sys."Document".id IS '唯一标识';
14+
COMMENT ON COLUMN sys."Document"."userId" IS '用户id
15+
应该用adminId,只有当登录账户是管理员时才能操作文档。
16+
需要先建Admin表,新增登录等相关接口。';
17+
COMMENT ON COLUMN sys."Document".version IS '接口版本号
18+
<=0 - 不限制版本,任意版本都可用这个接口
19+
>0 - 在这个版本添加的接口';
20+
COMMENT ON COLUMN sys."Document".name IS '接口名称';
21+
COMMENT ON COLUMN sys."Document".url IS '请求地址';
22+
COMMENT ON COLUMN sys."Document".request IS '请求
23+
用json格式会导致强制排序,而请求中引用赋值只能引用上面的字段,必须有序。';
24+
COMMENT ON COLUMN sys."Document".response IS '标准返回结果JSON
25+
用json格式会导致强制排序,而请求中引用赋值只能引用上面的字段,必须有序。';
26+
COMMENT ON COLUMN sys."Document".header IS '请求头 Request Header:
27+
key: value //注释';
28+
COMMENT ON COLUMN sys."Document".date IS '创建时间';
129
INSERT INTO sys."Document" (id, "userId", version, name, url, request, response, header, date) VALUES (1, 0, 1, '登录', '/login', '{"type": 0, "phone": "13000082001", "version": 1, "password": "123456"}', null, null, '2017年11月26日 07:35:19.000000');
230
INSERT INTO sys."Document" (id, "userId", version, name, url, request, response, header, date) VALUES (2, 0, 1, '注册(先获取验证码type:1)', '/register', '{
331
"Privacy": {

‎PostgreSQL/single/postgres_sys_Function.sql

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,26 @@
1+
CREATE TABLE sys."Function"
2+
(
3+
id bigint PRIMARY KEY NOT NULL,
4+
name varchar(30) NOT NULL,
5+
arguments varchar(100),
6+
demo text NOT NULL,
7+
detail varchar(1000),
8+
date timestamp(6) NOT NULL,
9+
back varchar(45),
10+
requestlist varchar(45),
11+
"userId" bigint DEFAULT 0,
12+
type varchar(45) DEFAULT 'Object'::character varying
13+
);
14+
COMMENT ON COLUMN sys."Function".name IS '方法名';
15+
COMMENT ON COLUMN sys."Function".arguments IS '参数列表,每个参数的类型都是 String。
16+
用 , 分割的字符串 比 [JSONArray] 更好,例如 array,item ,更直观,还方便拼接函数。';
17+
COMMENT ON COLUMN sys."Function".demo IS '可用的示例。';
18+
COMMENT ON COLUMN sys."Function".detail IS '详细描述';
19+
COMMENT ON COLUMN sys."Function".date IS '创建时间';
20+
COMMENT ON COLUMN sys."Function".back IS '返回类型';
21+
COMMENT ON COLUMN sys."Function".requestlist IS 'Request 的 id 列表';
22+
COMMENT ON COLUMN sys."Function"."userId" IS '用户id';
23+
COMMENT ON COLUMN sys."Function".type IS '返回类型';
124
INSERT INTO sys."Function" (id, name, arguments, demo, detail, date, back, requestlist, "userId", type) VALUES (3, 'countArray', 'array', '{"array": [1, 2, 3]}', '获取数组长度。没写调用键值对,会自动补全 "result()": "countArray(array)"', '2018年10月13日 08:23:23.000000', null, null, 0, 'Object');
225
INSERT INTO sys."Function" (id, name, arguments, demo, detail, date, back, requestlist, "userId", type) VALUES (4, 'countObject', 'object', '{"object": {"key0": 1, "key1": 2}}', '获取对象长度。', '2018年10月13日 08:23:23.000000', null, null, 0, 'Object');
326
INSERT INTO sys."Function" (id, name, arguments, demo, detail, date, back, requestlist, "userId", type) VALUES (5, 'isContain', 'array,value', '{"array": [1, 2, 3], "value": 2}', '判断是否数组包含值。', '2018年10月13日 08:23:23.000000', null, null, 0, 'Object');

‎PostgreSQL/single/postgres_sys_Login.sql

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
CREATE TABLE sys."Login"
2+
(
3+
id bigint PRIMARY KEY NOT NULL,
4+
"userId" bigint NOT NULL,
5+
type smallint NOT NULL,
6+
date timestamp(6) NOT NULL
7+
);
8+
COMMENT ON COLUMN sys."Login".id IS '唯一标识';
9+
COMMENT ON COLUMN sys."Login"."userId" IS '用户id';
10+
COMMENT ON COLUMN sys."Login".type IS '类型
11+
0-密码登录
12+
1-验证码登录';
13+
COMMENT ON COLUMN sys."Login".date IS '创建日期';
114
INSERT INTO sys."Login" (id, "userId", type, date) VALUES (1488365732208, 0, 0, '2017年03月01日 10:55:32.000000');
215
INSERT INTO sys."Login" (id, "userId", type, date) VALUES (1488379391681, 1488378558927, 0, '2017年03月01日 14:43:11.000000');
316
INSERT INTO sys."Login" (id, "userId", type, date) VALUES (1488379908786, 1488378449469, 0, '2017年03月01日 14:51:48.000000');

‎PostgreSQL/single/postgres_sys_Moment.sql

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
CREATE TABLE sys."Moment"
2+
(
3+
id bigint PRIMARY KEY NOT NULL,
4+
"userId" bigint NOT NULL,
5+
date timestamp(6),
6+
content varchar(300),
7+
"praiseUserIdList" jsonb NOT NULL,
8+
"pictureList" jsonb NOT NULL
9+
);
10+
COMMENT ON COLUMN sys."Moment".id IS '唯一标识';
11+
COMMENT ON COLUMN sys."Moment"."userId" IS '用户id';
12+
COMMENT ON COLUMN sys."Moment".date IS '创建日期';
13+
COMMENT ON COLUMN sys."Moment".content IS '内容';
14+
COMMENT ON COLUMN sys."Moment"."praiseUserIdList" IS '点赞的用户id列表';
15+
COMMENT ON COLUMN sys."Moment"."pictureList" IS '图片列表';
116
INSERT INTO sys."Moment" (id, "userId", date, content, "praiseUserIdList", "pictureList") VALUES (12, 70793, '2017年02月08日 08:06:11.000000', 'APIJSON,let interfaces and documents go to hell !', '[70793, 93793, 82044, 82040, 82055, 90814, 38710, 82002, 82006, 1508072105320, 82001]', '["http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg", "http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg", "https://camo.githubusercontent.com/788c0a7e11a4f5aadef3c886f028c79b4808613a/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343932353935372d313732303737333630382e6a7067", "http://static.oschina.net/uploads/img/201604/22172507_Pz9Y.png", "https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067", "https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067", "https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067", "https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067"]');
217
INSERT INTO sys."Moment" (id, "userId", date, content, "praiseUserIdList", "pictureList") VALUES (32, 82002, '2017年02月08日 08:06:11.000000', null, '[38710, 82002, 82001]', '["https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067", "https://camo.githubusercontent.com/5f5c4e0c4dc539c34e8eae8ac0cbc6dccdfee5d3/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343533333831362d323032373434343231382e6a7067", "http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg"]');
318
INSERT INTO sys."Moment" (id, "userId", date, content, "praiseUserIdList", "pictureList") VALUES (58, 90814, '2017年02月01日 11:14:31.000000', 'This is a Content...-435', '[38710, 82003, 82005, 93793, 82006, 82044, 82001]', '["http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg"]');

‎PostgreSQL/single/postgres_sys_Praise.sql

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
CREATE TABLE sys."Praise"
2+
(
3+
id bigint PRIMARY KEY NOT NULL,
4+
"momentId" bigint NOT NULL,
5+
"userId" bigint NOT NULL,
6+
date timestamp(6)
7+
);
8+
COMMENT ON COLUMN sys."Praise".id IS '动态id';
9+
COMMENT ON COLUMN sys."Praise"."momentId" IS '唯一标识';
10+
COMMENT ON COLUMN sys."Praise"."userId" IS '用户id';
11+
COMMENT ON COLUMN sys."Praise".date IS '点赞时间';
112
INSERT INTO sys."Praise" (id, "momentId", "userId", date) VALUES (1, 12, 82001, '2017年11月19日 13:02:30.000000');
213
INSERT INTO sys."Praise" (id, "momentId", "userId", date) VALUES (2, 15, 82002, '2017年11月19日 13:02:30.000000');
314
INSERT INTO sys."Praise" (id, "momentId", "userId", date) VALUES (3, 32, 82003, '2017年11月19日 13:02:30.000000');

‎PostgreSQL/single/postgres_sys_Request.sql

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,26 @@
1+
CREATE TABLE sys."Request"
2+
(
3+
id bigint PRIMARY KEY NOT NULL,
4+
version smallint NOT NULL,
5+
method varchar(10),
6+
tag varchar(20) NOT NULL,
7+
structure jsonb NOT NULL,
8+
detail varchar(10000),
9+
date timestamp(6)
10+
);
11+
COMMENT ON COLUMN sys."Request".id IS '唯一标识';
12+
COMMENT ON COLUMN sys."Request".version IS 'GET,HEAD可用任意结构访问任意开放内容,不需要这个字段。
13+
其它的操作因为写入了结构和内容,所以都需要,按照不同的version选择对应的structure。
14+
15+
自动化版本管理:
16+
Request JSON最外层可以传 "version":Integer 。
17+
1.未传或 <= 0,用最新版。 "@order":"version-"
18+
2.已传且 > 0,用version以上的可用版本的最低版本。 "@order":"version+", "version{}":">={version}"';
19+
COMMENT ON COLUMN sys."Request".method IS '只限于GET,HEAD外的操作方法。';
20+
COMMENT ON COLUMN sys."Request".tag IS '标签';
21+
COMMENT ON COLUMN sys."Request".structure IS '结构';
22+
COMMENT ON COLUMN sys."Request".detail IS '详细说明';
23+
COMMENT ON COLUMN sys."Request".date IS '创建时间';
124
INSERT INTO sys."Request" (id, version, method, tag, structure, detail, date) VALUES (1, 1, 'POST', 'register', '{"User": {"UPDATE": {"id@": "Privacy/id"}, "DISALLOW": "id", "NECESSARY": "name"}, "Privacy": {"UNIQUE": "phone", "VERIFY": {"phone~": "phone"}, "DISALLOW": "id", "NECESSARY": "_password,phone"}}', 'UNIQUE校验phone是否已存在。VERIFY校验phone是否符合手机号的格式', '2017年02月01日 11:19:51.000000');
225
INSERT INTO sys."Request" (id, version, method, tag, structure, detail, date) VALUES (2, 1, 'POST', 'Moment', '{"INSERT": {"@role": "OWNER", "pictureList": [], "praiseUserIdList": []}, "UPDATE": {"verifyIdList-()": "verifyIdList(praiseUserIdList)", "verifyURLList-()": "verifyURLList(pictureList)"}, "DISALLOW": "id"}', 'INSERT当没传pictureList和praiseUserIdList时用空数组[]补全,保证不会为null', '2017年02月01日 11:19:51.000000');
326
INSERT INTO sys."Request" (id, version, method, tag, structure, detail, date) VALUES (3, 1, 'POST', 'Comment', '{"UPDATE": {"@role": "OWNER"}, "DISALLOW": "id", "NECESSARY": "momentId,content"}', '必须传userId,momentId,content,不允许传id', '2017年02月01日 11:19:51.000000');
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
CREATE TABLE sys."Response"
2+
(
3+
id bigint PRIMARY KEY NOT NULL,
4+
method varchar(10),
5+
model varchar(20) NOT NULL,
6+
structure text NOT NULL,
7+
detail varchar(10000),
8+
date timestamp(6)
9+
);
10+
COMMENT ON COLUMN sys."Response".id IS '唯一标识';
11+
COMMENT ON COLUMN sys."Response".method IS '方法';
12+
COMMENT ON COLUMN sys."Response".model IS '表名,table是SQL关键词不能用';
13+
COMMENT ON COLUMN sys."Response".structure IS '结构';
14+
COMMENT ON COLUMN sys."Response".detail IS '详细说明';
15+
COMMENT ON COLUMN sys."Response".date IS '创建日期';
16+
CREATE INDEX "id_UNIQUE" ON sys."Response" (id);
117
INSERT INTO sys."Response" (id, method, model, structure, detail, date) VALUES (1, 'GET', 'User', '{"put": {"extra": "Response works! Test:He(She) is lazy and wrote nothing here"}, "remove": "phone"}', null, '2017年05月22日 12:36:47.000000');
218
INSERT INTO sys."Response" (id, method, model, structure, detail, date) VALUES (2, 'DELETE', 'Comment', '{"remove": "Comment:child"}', null, '2017年05月03日 17:51:26.000000');
319
INSERT INTO sys."Response" (id, method, model, structure, detail, date) VALUES (3, 'DELETE', 'Moment', '{"remove": "Comment"}', null, '2017年05月03日 17:51:26.000000');

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /