Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
abda6ad0
Commit
abda6ad0
authored
Dec 09, 2023
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: update latest schema
parent
7fc7b19d
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
130 additions
and
147 deletions
+130
-147
LATEST__SCHEMA.sql
store/db/mysql/migration/dev/LATEST__SCHEMA.sql
+18
-17
01__webhook.sql
store/db/mysql/migration/prod/0.18/01__webhook.sql
+10
-0
02__user_setting.sql
store/db/mysql/migration/prod/0.18/02__user_setting.sql
+4
-0
LATEST__SCHEMA.sql
store/db/mysql/migration/prod/LATEST__SCHEMA.sql
+16
-16
LATEST__SCHEMA.sql
store/db/postgres/migration/dev/LATEST__SCHEMA.sql
+41
-57
LATEST__SCHEMA.sql
store/db/postgres/migration/prod/LATEST__SCHEMA.sql
+41
-57
No files found.
store/db/mysql/migration/dev/LATEST__SCHEMA.sql
View file @
abda6ad0
...
...
@@ -12,16 +12,17 @@ DROP TABLE IF EXISTS `activity`;
DROP
TABLE
IF
EXISTS
`storage`
;
DROP
TABLE
IF
EXISTS
`idp`
;
DROP
TABLE
IF
EXISTS
`inbox`
;
DROP
TABLE
IF
EXISTS
`webhook`
;
-- migration_history
CREATE
TABLE
`migration_history`
(
`version`
VARCHAR
(
25
5
)
NOT
NULL
PRIMARY
KEY
,
`version`
VARCHAR
(
25
6
)
NOT
NULL
PRIMARY
KEY
,
`created_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
);
-- system_setting
CREATE
TABLE
`system_setting`
(
`name`
VARCHAR
(
25
5
)
NOT
NULL
PRIMARY
KEY
,
`name`
VARCHAR
(
25
6
)
NOT
NULL
PRIMARY
KEY
,
`value`
LONGTEXT
NOT
NULL
,
`description`
TEXT
NOT
NULL
);
...
...
@@ -31,19 +32,19 @@ CREATE TABLE `user` (
`id`
INT
NOT
NULL
AUTO_INCREMENT
PRIMARY
KEY
,
`created_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`updated_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`row_status`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
'NORMAL'
,
`username`
VARCHAR
(
25
5
)
NOT
NULL
UNIQUE
,
`role`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
'USER'
,
`email`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
''
,
`nickname`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
''
,
`password_hash`
VARCHAR
(
25
5
)
NOT
NULL
,
`row_status`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
'NORMAL'
,
`username`
VARCHAR
(
25
6
)
NOT
NULL
UNIQUE
,
`role`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
'USER'
,
`email`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
''
,
`nickname`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
''
,
`password_hash`
VARCHAR
(
25
6
)
NOT
NULL
,
`avatar_url`
LONGTEXT
NOT
NULL
);
-- user_setting
CREATE
TABLE
`user_setting`
(
`user_id`
INT
NOT
NULL
,
`key`
VARCHAR
(
25
5
)
NOT
NULL
,
`key`
VARCHAR
(
25
6
)
NOT
NULL
,
`value`
LONGTEXT
NOT
NULL
,
UNIQUE
(
`user_id`
,
`key`
)
);
...
...
@@ -54,9 +55,9 @@ CREATE TABLE `memo` (
`creator_id`
INT
NOT
NULL
,
`created_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`updated_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`row_status`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
'NORMAL'
,
`row_status`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
'NORMAL'
,
`content`
TEXT
NOT
NULL
,
`visibility`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
'PRIVATE'
`visibility`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
'PRIVATE'
);
-- memo_organizer
...
...
@@ -84,15 +85,15 @@ CREATE TABLE `resource` (
`filename`
TEXT
NOT
NULL
,
`blob`
MEDIUMBLOB
,
`external_link`
TEXT
NOT
NULL
,
`type`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
''
,
`type`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
''
,
`size`
INT
NOT
NULL
DEFAULT
'0'
,
`internal_path`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
''
,
`internal_path`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
''
,
`memo_id`
INT
DEFAULT
NULL
);
-- tag
CREATE
TABLE
`tag`
(
`name`
VARCHAR
(
25
5
)
NOT
NULL
,
`name`
VARCHAR
(
25
6
)
NOT
NULL
,
`creator_id`
INT
NOT
NULL
,
UNIQUE
(
`name`
,
`creator_id`
)
);
...
...
@@ -102,8 +103,8 @@ CREATE TABLE `activity` (
`id`
INT
NOT
NULL
AUTO_INCREMENT
PRIMARY
KEY
,
`creator_id`
INT
NOT
NULL
,
`created_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`type`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
''
,
`level`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
'INFO'
,
`type`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
''
,
`level`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
'INFO'
,
`payload`
TEXT
NOT
NULL
);
...
...
@@ -139,7 +140,7 @@ CREATE TABLE `webhook` (
`id`
INT
NOT
NULL
AUTO_INCREMENT
PRIMARY
KEY
,
`created_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`updated_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`row_status`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
'NORMAL'
,
`row_status`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
'NORMAL'
,
`creator_id`
INT
NOT
NULL
,
`name`
TEXT
NOT
NULL
,
`url`
TEXT
NOT
NULL
...
...
store/db/mysql/migration/prod/0.18/01__webhook.sql
0 → 100644
View file @
abda6ad0
-- webhook
CREATE
TABLE
`webhook`
(
`id`
INT
NOT
NULL
AUTO_INCREMENT
PRIMARY
KEY
,
`created_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`updated_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`row_status`
VARCHAR
(
256
)
NOT
NULL
DEFAULT
'NORMAL'
,
`creator_id`
INT
NOT
NULL
,
`name`
TEXT
NOT
NULL
,
`url`
TEXT
NOT
NULL
);
store/db/mysql/migration/prod/0.18/02__user_setting.sql
0 → 100644
View file @
abda6ad0
UPDATE
`user_setting`
SET
`key`
=
'USER_SETTING_LOCALE'
WHERE
`key`
=
'locale'
;
UPDATE
`user_setting`
SET
`key`
=
'USER_SETTING_APPEARANCE'
WHERE
`key`
=
'appearance'
;
UPDATE
`user_setting`
SET
`key`
=
'USER_SETTING_MEMO_VISIBILITY'
WHERE
`key`
=
'memo-visibility'
;
UPDATE
`user_setting`
SET
`key`
=
'USER_SETTING_TELEGRAM_USER_ID'
WHERE
`key`
=
'telegram-user-id'
;
store/db/mysql/migration/prod/LATEST__SCHEMA.sql
View file @
abda6ad0
...
...
@@ -15,13 +15,13 @@ DROP TABLE IF EXISTS `inbox`;
-- migration_history
CREATE
TABLE
`migration_history`
(
`version`
VARCHAR
(
25
5
)
NOT
NULL
PRIMARY
KEY
,
`version`
VARCHAR
(
25
6
)
NOT
NULL
PRIMARY
KEY
,
`created_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
);
-- system_setting
CREATE
TABLE
`system_setting`
(
`name`
VARCHAR
(
25
5
)
NOT
NULL
PRIMARY
KEY
,
`name`
VARCHAR
(
25
6
)
NOT
NULL
PRIMARY
KEY
,
`value`
LONGTEXT
NOT
NULL
,
`description`
TEXT
NOT
NULL
);
...
...
@@ -31,19 +31,19 @@ CREATE TABLE `user` (
`id`
INT
NOT
NULL
AUTO_INCREMENT
PRIMARY
KEY
,
`created_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`updated_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`row_status`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
'NORMAL'
,
`username`
VARCHAR
(
25
5
)
NOT
NULL
UNIQUE
,
`role`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
'USER'
,
`email`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
''
,
`nickname`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
''
,
`password_hash`
VARCHAR
(
25
5
)
NOT
NULL
,
`row_status`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
'NORMAL'
,
`username`
VARCHAR
(
25
6
)
NOT
NULL
UNIQUE
,
`role`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
'USER'
,
`email`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
''
,
`nickname`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
''
,
`password_hash`
VARCHAR
(
25
6
)
NOT
NULL
,
`avatar_url`
LONGTEXT
NOT
NULL
);
-- user_setting
CREATE
TABLE
`user_setting`
(
`user_id`
INT
NOT
NULL
,
`key`
VARCHAR
(
25
5
)
NOT
NULL
,
`key`
VARCHAR
(
25
6
)
NOT
NULL
,
`value`
LONGTEXT
NOT
NULL
,
UNIQUE
(
`user_id`
,
`key`
)
);
...
...
@@ -54,9 +54,9 @@ CREATE TABLE `memo` (
`creator_id`
INT
NOT
NULL
,
`created_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`updated_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`row_status`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
'NORMAL'
,
`row_status`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
'NORMAL'
,
`content`
TEXT
NOT
NULL
,
`visibility`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
'PRIVATE'
`visibility`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
'PRIVATE'
);
-- memo_organizer
...
...
@@ -84,15 +84,15 @@ CREATE TABLE `resource` (
`filename`
TEXT
NOT
NULL
,
`blob`
MEDIUMBLOB
,
`external_link`
TEXT
NOT
NULL
,
`type`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
''
,
`type`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
''
,
`size`
INT
NOT
NULL
DEFAULT
'0'
,
`internal_path`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
''
,
`internal_path`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
''
,
`memo_id`
INT
DEFAULT
NULL
);
-- tag
CREATE
TABLE
`tag`
(
`name`
VARCHAR
(
25
5
)
NOT
NULL
,
`name`
VARCHAR
(
25
6
)
NOT
NULL
,
`creator_id`
INT
NOT
NULL
,
UNIQUE
(
`name`
,
`creator_id`
)
);
...
...
@@ -102,8 +102,8 @@ CREATE TABLE `activity` (
`id`
INT
NOT
NULL
AUTO_INCREMENT
PRIMARY
KEY
,
`creator_id`
INT
NOT
NULL
,
`created_ts`
TIMESTAMP
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`type`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
''
,
`level`
VARCHAR
(
25
5
)
NOT
NULL
DEFAULT
'INFO'
,
`type`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
''
,
`level`
VARCHAR
(
25
6
)
NOT
NULL
DEFAULT
'INFO'
,
`payload`
TEXT
NOT
NULL
);
...
...
store/db/postgres/migration/dev/LATEST__SCHEMA.sql
View file @
abda6ad0
-- drop all tables first (PostgreSQL style)
DROP
TABLE
IF
EXISTS
migration_history
CASCADE
;
DROP
TABLE
IF
EXISTS
system_setting
CASCADE
;
DROP
TABLE
IF
EXISTS
"user"
CASCADE
;
DROP
TABLE
IF
EXISTS
user_setting
CASCADE
;
DROP
TABLE
IF
EXISTS
memo
CASCADE
;
DROP
TABLE
IF
EXISTS
memo_organizer
CASCADE
;
DROP
TABLE
IF
EXISTS
memo_relation
CASCADE
;
DROP
TABLE
IF
EXISTS
resource
CASCADE
;
DROP
TABLE
IF
EXISTS
tag
CASCADE
;
DROP
TABLE
IF
EXISTS
activity
CASCADE
;
DROP
TABLE
IF
EXISTS
storage
CASCADE
;
DROP
TABLE
IF
EXISTS
idp
CASCADE
;
DROP
TABLE
IF
EXISTS
inbox
CASCADE
;
DROP
TABLE
IF
EXISTS
webhook
CASCADE
;
-- migration_history
CREATE
TABLE
migration_history
(
version
VARCHAR
(
255
)
NOT
NULL
PRIMARY
KEY
,
version
TEXT
NOT
NULL
PRIMARY
KEY
,
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
);
-- system_setting
CREATE
TABLE
system_setting
(
name
VARCHAR
(
255
)
NOT
NULL
PRIMARY
KEY
,
name
TEXT
NOT
NULL
PRIMARY
KEY
,
value
TEXT
NOT
NULL
,
description
TEXT
NOT
NULL
);
...
...
@@ -45,91 +32,88 @@ CREATE TABLE "user" (
id
SERIAL
PRIMARY
KEY
,
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
updated_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
row_status
VARCHAR
(
255
)
NOT
NULL
DEFAULT
'NORMAL'
,
username
VARCHAR
(
255
)
NOT
NULL
UNIQUE
,
role
VARCHAR
(
255
)
NOT
NULL
DEFAULT
'USER'
,
email
VARCHAR
(
255
)
NOT
NULL
DEFAULT
''
,
nickname
VARCHAR
(
255
)
NOT
NULL
DEFAULT
''
,
password_hash
VARCHAR
(
255
)
NOT
NULL
,
row_status
TEXT
NOT
NULL
DEFAULT
'NORMAL'
,
username
TEXT
NOT
NULL
UNIQUE
,
role
TEXT
NOT
NULL
DEFAULT
'USER'
,
email
TEXT
NOT
NULL
DEFAULT
''
,
nickname
TEXT
NOT
NULL
DEFAULT
''
,
password_hash
TEXT
NOT
NULL
,
avatar_url
TEXT
NOT
NULL
);
-- user_setting
CREATE
TABLE
user_setting
(
user_id
INT
NOT
NULL
,
key
VARCHAR
(
255
)
NOT
NULL
,
user_id
INT
EGER
NOT
NULL
,
key
TEXT
NOT
NULL
,
value
TEXT
NOT
NULL
,
UNIQUE
(
user_id
,
key
),
FOREIGN
KEY
(
user_id
)
REFERENCES
"user"
(
id
)
ON
DELETE
CASCADE
UNIQUE
(
user_id
,
key
)
);
-- memo
CREATE
TABLE
memo
(
id
SERIAL
PRIMARY
KEY
,
creator_id
INT
NOT
NULL
,
creator_id
INT
EGER
NOT
NULL
,
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
updated_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
row_status
VARCHAR
(
255
)
NOT
NULL
DEFAULT
'NORMAL'
,
row_status
TEXT
NOT
NULL
DEFAULT
'NORMAL'
,
content
TEXT
NOT
NULL
,
visibility
VARCHAR
(
255
)
NOT
NULL
DEFAULT
'PRIVATE'
visibility
TEXT
NOT
NULL
DEFAULT
'PRIVATE'
);
-- memo_organizer
CREATE
TABLE
memo_organizer
(
memo_id
INT
NOT
NULL
,
user_id
INT
NOT
NULL
,
pinned
INT
NOT
NULL
DEFAULT
0
,
memo_id
INT
EGER
NOT
NULL
,
user_id
INT
EGER
NOT
NULL
,
pinned
INT
EGER
NOT
NULL
DEFAULT
0
,
UNIQUE
(
memo_id
,
user_id
)
);
-- memo_relation
CREATE
TABLE
memo_relation
(
memo_id
INT
NOT
NULL
,
related_memo_id
INT
NOT
NULL
,
type
VARCHAR
(
256
)
NOT
NULL
,
UNIQUE
(
memo_id
,
related_memo_id
,
type
),
FOREIGN
KEY
(
memo_id
)
REFERENCES
memo
(
id
)
ON
DELETE
CASCADE
,
FOREIGN
KEY
(
related_memo_id
)
REFERENCES
memo
(
id
)
ON
DELETE
CASCADE
memo_id
INTEGER
NOT
NULL
,
related_memo_id
INTEGER
NOT
NULL
,
type
TEXT
NOT
NULL
,
UNIQUE
(
memo_id
,
related_memo_id
,
type
)
);
-- resource
CREATE
TABLE
resource
(
id
SERIAL
PRIMARY
KEY
,
creator_id
INT
NOT
NULL
,
creator_id
INT
EGER
NOT
NULL
,
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
updated_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
filename
TEXT
NOT
NULL
,
blob
BYTEA
,
external_link
TEXT
NOT
NULL
,
type
VARCHAR
(
255
)
NOT
NULL
DEFAULT
''
,
size
INT
NOT
NULL
DEFAULT
0
,
internal_path
VARCHAR
(
255
)
NOT
NULL
DEFAULT
''
,
memo_id
INT
DEFAULT
NULL
type
TEXT
NOT
NULL
DEFAULT
''
,
size
INT
EGER
NOT
NULL
DEFAULT
0
,
internal_path
TEXT
NOT
NULL
DEFAULT
''
,
memo_id
INT
EGER
DEFAULT
NULL
);
-- tag
CREATE
TABLE
tag
(
name
VARCHAR
(
255
)
NOT
NULL
,
creator_id
INT
NOT
NULL
,
name
TEXT
NOT
NULL
,
creator_id
INT
EGER
NOT
NULL
,
UNIQUE
(
name
,
creator_id
)
);
-- activity
CREATE
TABLE
activity
(
id
SERIAL
PRIMARY
KEY
,
creator_id
INT
NOT
NULL
,
creator_id
INT
EGER
NOT
NULL
,
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
type
VARCHAR
(
255
)
NOT
NULL
DEFAULT
''
,
level
VARCHAR
(
255
)
NOT
NULL
DEFAULT
'INFO'
,
payload
TEXT
NOT
NULL
type
TEXT
NOT
NULL
DEFAULT
''
,
level
TEXT
NOT
NULL
DEFAULT
'INFO'
,
payload
JSONB
NOT
NULL
DEFAULT
'{}'
);
-- storage
CREATE
TABLE
storage
(
id
SERIAL
PRIMARY
KEY
,
name
VARCHAR
(
256
)
NOT
NULL
,
type
VARCHAR
(
256
)
NOT
NULL
,
config
TEXT
NOT
NULL
name
TEXT
NOT
NULL
,
type
TEXT
NOT
NULL
,
config
JSONB
NOT
NULL
DEFAULT
'{}'
);
-- idp
...
...
@@ -137,16 +121,16 @@ CREATE TABLE idp (
id
SERIAL
PRIMARY
KEY
,
name
TEXT
NOT
NULL
,
type
TEXT
NOT
NULL
,
identifier_filter
VARCHAR
(
256
)
NOT
NULL
DEFAULT
''
,
config
TEXT
NOT
NULL
identifier_filter
TEXT
NOT
NULL
DEFAULT
''
,
config
JSONB
NOT
NULL
DEFAULT
'{}'
);
-- inbox
CREATE
TABLE
inbox
(
id
SERIAL
PRIMARY
KEY
,
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
sender_id
INT
NOT
NULL
,
receiver_id
INT
NOT
NULL
,
sender_id
INT
EGER
NOT
NULL
,
receiver_id
INT
EGER
NOT
NULL
,
status
TEXT
NOT
NULL
,
message
TEXT
NOT
NULL
);
...
...
@@ -157,7 +141,7 @@ CREATE TABLE webhook (
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
updated_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
row_status
TEXT
NOT
NULL
DEFAULT
'NORMAL'
,
creator_id
INT
NOT
NULL
,
creator_id
INT
EGER
NOT
NULL
,
name
TEXT
NOT
NULL
,
url
TEXT
NOT
NULL
);
\ No newline at end of file
);
store/db/postgres/migration/prod/LATEST__SCHEMA.sql
View file @
abda6ad0
-- drop all tables first (PostgreSQL style)
DROP
TABLE
IF
EXISTS
migration_history
CASCADE
;
DROP
TABLE
IF
EXISTS
system_setting
CASCADE
;
DROP
TABLE
IF
EXISTS
"user"
CASCADE
;
DROP
TABLE
IF
EXISTS
user_setting
CASCADE
;
DROP
TABLE
IF
EXISTS
memo
CASCADE
;
DROP
TABLE
IF
EXISTS
memo_organizer
CASCADE
;
DROP
TABLE
IF
EXISTS
memo_relation
CASCADE
;
DROP
TABLE
IF
EXISTS
resource
CASCADE
;
DROP
TABLE
IF
EXISTS
tag
CASCADE
;
DROP
TABLE
IF
EXISTS
activity
CASCADE
;
DROP
TABLE
IF
EXISTS
storage
CASCADE
;
DROP
TABLE
IF
EXISTS
idp
CASCADE
;
DROP
TABLE
IF
EXISTS
inbox
CASCADE
;
DROP
TABLE
IF
EXISTS
webhook
CASCADE
;
-- migration_history
CREATE
TABLE
migration_history
(
version
VARCHAR
(
255
)
NOT
NULL
PRIMARY
KEY
,
version
TEXT
NOT
NULL
PRIMARY
KEY
,
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
);
-- system_setting
CREATE
TABLE
system_setting
(
name
VARCHAR
(
255
)
NOT
NULL
PRIMARY
KEY
,
name
TEXT
NOT
NULL
PRIMARY
KEY
,
value
TEXT
NOT
NULL
,
description
TEXT
NOT
NULL
);
...
...
@@ -45,91 +32,88 @@ CREATE TABLE "user" (
id
SERIAL
PRIMARY
KEY
,
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
updated_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
row_status
VARCHAR
(
255
)
NOT
NULL
DEFAULT
'NORMAL'
,
username
VARCHAR
(
255
)
NOT
NULL
UNIQUE
,
role
VARCHAR
(
255
)
NOT
NULL
DEFAULT
'USER'
,
email
VARCHAR
(
255
)
NOT
NULL
DEFAULT
''
,
nickname
VARCHAR
(
255
)
NOT
NULL
DEFAULT
''
,
password_hash
VARCHAR
(
255
)
NOT
NULL
,
row_status
TEXT
NOT
NULL
DEFAULT
'NORMAL'
,
username
TEXT
NOT
NULL
UNIQUE
,
role
TEXT
NOT
NULL
DEFAULT
'USER'
,
email
TEXT
NOT
NULL
DEFAULT
''
,
nickname
TEXT
NOT
NULL
DEFAULT
''
,
password_hash
TEXT
NOT
NULL
,
avatar_url
TEXT
NOT
NULL
);
-- user_setting
CREATE
TABLE
user_setting
(
user_id
INT
NOT
NULL
,
key
VARCHAR
(
255
)
NOT
NULL
,
user_id
INT
EGER
NOT
NULL
,
key
TEXT
NOT
NULL
,
value
TEXT
NOT
NULL
,
UNIQUE
(
user_id
,
key
),
FOREIGN
KEY
(
user_id
)
REFERENCES
"user"
(
id
)
ON
DELETE
CASCADE
UNIQUE
(
user_id
,
key
)
);
-- memo
CREATE
TABLE
memo
(
id
SERIAL
PRIMARY
KEY
,
creator_id
INT
NOT
NULL
,
creator_id
INT
EGER
NOT
NULL
,
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
updated_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
row_status
VARCHAR
(
255
)
NOT
NULL
DEFAULT
'NORMAL'
,
row_status
TEXT
NOT
NULL
DEFAULT
'NORMAL'
,
content
TEXT
NOT
NULL
,
visibility
VARCHAR
(
255
)
NOT
NULL
DEFAULT
'PRIVATE'
visibility
TEXT
NOT
NULL
DEFAULT
'PRIVATE'
);
-- memo_organizer
CREATE
TABLE
memo_organizer
(
memo_id
INT
NOT
NULL
,
user_id
INT
NOT
NULL
,
pinned
INT
NOT
NULL
DEFAULT
0
,
memo_id
INT
EGER
NOT
NULL
,
user_id
INT
EGER
NOT
NULL
,
pinned
INT
EGER
NOT
NULL
DEFAULT
0
,
UNIQUE
(
memo_id
,
user_id
)
);
-- memo_relation
CREATE
TABLE
memo_relation
(
memo_id
INT
NOT
NULL
,
related_memo_id
INT
NOT
NULL
,
type
VARCHAR
(
256
)
NOT
NULL
,
UNIQUE
(
memo_id
,
related_memo_id
,
type
),
FOREIGN
KEY
(
memo_id
)
REFERENCES
memo
(
id
)
ON
DELETE
CASCADE
,
FOREIGN
KEY
(
related_memo_id
)
REFERENCES
memo
(
id
)
ON
DELETE
CASCADE
memo_id
INTEGER
NOT
NULL
,
related_memo_id
INTEGER
NOT
NULL
,
type
TEXT
NOT
NULL
,
UNIQUE
(
memo_id
,
related_memo_id
,
type
)
);
-- resource
CREATE
TABLE
resource
(
id
SERIAL
PRIMARY
KEY
,
creator_id
INT
NOT
NULL
,
creator_id
INT
EGER
NOT
NULL
,
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
updated_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
filename
TEXT
NOT
NULL
,
blob
BYTEA
,
external_link
TEXT
NOT
NULL
,
type
VARCHAR
(
255
)
NOT
NULL
DEFAULT
''
,
size
INT
NOT
NULL
DEFAULT
0
,
internal_path
VARCHAR
(
255
)
NOT
NULL
DEFAULT
''
,
memo_id
INT
DEFAULT
NULL
type
TEXT
NOT
NULL
DEFAULT
''
,
size
INT
EGER
NOT
NULL
DEFAULT
0
,
internal_path
TEXT
NOT
NULL
DEFAULT
''
,
memo_id
INT
EGER
DEFAULT
NULL
);
-- tag
CREATE
TABLE
tag
(
name
VARCHAR
(
255
)
NOT
NULL
,
creator_id
INT
NOT
NULL
,
name
TEXT
NOT
NULL
,
creator_id
INT
EGER
NOT
NULL
,
UNIQUE
(
name
,
creator_id
)
);
-- activity
CREATE
TABLE
activity
(
id
SERIAL
PRIMARY
KEY
,
creator_id
INT
NOT
NULL
,
creator_id
INT
EGER
NOT
NULL
,
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
type
VARCHAR
(
255
)
NOT
NULL
DEFAULT
''
,
level
VARCHAR
(
255
)
NOT
NULL
DEFAULT
'INFO'
,
payload
TEXT
NOT
NULL
type
TEXT
NOT
NULL
DEFAULT
''
,
level
TEXT
NOT
NULL
DEFAULT
'INFO'
,
payload
JSONB
NOT
NULL
DEFAULT
'{}'
);
-- storage
CREATE
TABLE
storage
(
id
SERIAL
PRIMARY
KEY
,
name
VARCHAR
(
256
)
NOT
NULL
,
type
VARCHAR
(
256
)
NOT
NULL
,
config
TEXT
NOT
NULL
name
TEXT
NOT
NULL
,
type
TEXT
NOT
NULL
,
config
JSONB
NOT
NULL
DEFAULT
'{}'
);
-- idp
...
...
@@ -137,16 +121,16 @@ CREATE TABLE idp (
id
SERIAL
PRIMARY
KEY
,
name
TEXT
NOT
NULL
,
type
TEXT
NOT
NULL
,
identifier_filter
VARCHAR
(
256
)
NOT
NULL
DEFAULT
''
,
config
TEXT
NOT
NULL
identifier_filter
TEXT
NOT
NULL
DEFAULT
''
,
config
JSONB
NOT
NULL
DEFAULT
'{}'
);
-- inbox
CREATE
TABLE
inbox
(
id
SERIAL
PRIMARY
KEY
,
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
sender_id
INT
NOT
NULL
,
receiver_id
INT
NOT
NULL
,
sender_id
INT
EGER
NOT
NULL
,
receiver_id
INT
EGER
NOT
NULL
,
status
TEXT
NOT
NULL
,
message
TEXT
NOT
NULL
);
...
...
@@ -157,7 +141,7 @@ CREATE TABLE webhook (
created_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
updated_ts
TIMESTAMP
WITHOUT
TIME
ZONE
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
row_status
TEXT
NOT
NULL
DEFAULT
'NORMAL'
,
creator_id
INT
NOT
NULL
,
creator_id
INT
EGER
NOT
NULL
,
name
TEXT
NOT
NULL
,
url
TEXT
NOT
NULL
);
\ No newline at end of file
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment