chore: update latest schema

pull/2601/head
Steven 1 year ago
parent 7fc7b19d64
commit abda6ad041

@ -12,16 +12,17 @@ DROP TABLE IF EXISTS `activity`;
DROP TABLE IF EXISTS `storage`; DROP TABLE IF EXISTS `storage`;
DROP TABLE IF EXISTS `idp`; DROP TABLE IF EXISTS `idp`;
DROP TABLE IF EXISTS `inbox`; DROP TABLE IF EXISTS `inbox`;
DROP TABLE IF EXISTS `webhook`;
-- migration_history -- migration_history
CREATE TABLE `migration_history` ( CREATE TABLE `migration_history` (
`version` VARCHAR(255) NOT NULL PRIMARY KEY, `version` VARCHAR(256) NOT NULL PRIMARY KEY,
`created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
); );
-- system_setting -- system_setting
CREATE TABLE `system_setting` ( CREATE TABLE `system_setting` (
`name` VARCHAR(255) NOT NULL PRIMARY KEY, `name` VARCHAR(256) NOT NULL PRIMARY KEY,
`value` LONGTEXT NOT NULL, `value` LONGTEXT NOT NULL,
`description` TEXT NOT NULL `description` TEXT NOT NULL
); );
@ -31,19 +32,19 @@ CREATE TABLE `user` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`row_status` VARCHAR(255) NOT NULL DEFAULT 'NORMAL', `row_status` VARCHAR(256) NOT NULL DEFAULT 'NORMAL',
`username` VARCHAR(255) NOT NULL UNIQUE, `username` VARCHAR(256) NOT NULL UNIQUE,
`role` VARCHAR(255) NOT NULL DEFAULT 'USER', `role` VARCHAR(256) NOT NULL DEFAULT 'USER',
`email` VARCHAR(255) NOT NULL DEFAULT '', `email` VARCHAR(256) NOT NULL DEFAULT '',
`nickname` VARCHAR(255) NOT NULL DEFAULT '', `nickname` VARCHAR(256) NOT NULL DEFAULT '',
`password_hash` VARCHAR(255) NOT NULL, `password_hash` VARCHAR(256) NOT NULL,
`avatar_url` LONGTEXT NOT NULL `avatar_url` LONGTEXT NOT NULL
); );
-- user_setting -- user_setting
CREATE TABLE `user_setting` ( CREATE TABLE `user_setting` (
`user_id` INT NOT NULL, `user_id` INT NOT NULL,
`key` VARCHAR(255) NOT NULL, `key` VARCHAR(256) NOT NULL,
`value` LONGTEXT NOT NULL, `value` LONGTEXT NOT NULL,
UNIQUE(`user_id`,`key`) UNIQUE(`user_id`,`key`)
); );
@ -54,9 +55,9 @@ CREATE TABLE `memo` (
`creator_id` INT NOT NULL, `creator_id` INT NOT NULL,
`created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`row_status` VARCHAR(255) NOT NULL DEFAULT 'NORMAL', `row_status` VARCHAR(256) NOT NULL DEFAULT 'NORMAL',
`content` TEXT NOT NULL, `content` TEXT NOT NULL,
`visibility` VARCHAR(255) NOT NULL DEFAULT 'PRIVATE' `visibility` VARCHAR(256) NOT NULL DEFAULT 'PRIVATE'
); );
-- memo_organizer -- memo_organizer
@ -84,15 +85,15 @@ CREATE TABLE `resource` (
`filename` TEXT NOT NULL, `filename` TEXT NOT NULL,
`blob` MEDIUMBLOB, `blob` MEDIUMBLOB,
`external_link` TEXT NOT NULL, `external_link` TEXT NOT NULL,
`type` VARCHAR(255) NOT NULL DEFAULT '', `type` VARCHAR(256) NOT NULL DEFAULT '',
`size` INT NOT NULL DEFAULT '0', `size` INT NOT NULL DEFAULT '0',
`internal_path` VARCHAR(255) NOT NULL DEFAULT '', `internal_path` VARCHAR(256) NOT NULL DEFAULT '',
`memo_id` INT DEFAULT NULL `memo_id` INT DEFAULT NULL
); );
-- tag -- tag
CREATE TABLE `tag` ( CREATE TABLE `tag` (
`name` VARCHAR(255) NOT NULL, `name` VARCHAR(256) NOT NULL,
`creator_id` INT NOT NULL, `creator_id` INT NOT NULL,
UNIQUE(`name`,`creator_id`) UNIQUE(`name`,`creator_id`)
); );
@ -102,8 +103,8 @@ CREATE TABLE `activity` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`creator_id` INT NOT NULL, `creator_id` INT NOT NULL,
`created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`type` VARCHAR(255) NOT NULL DEFAULT '', `type` VARCHAR(256) NOT NULL DEFAULT '',
`level` VARCHAR(255) NOT NULL DEFAULT 'INFO', `level` VARCHAR(256) NOT NULL DEFAULT 'INFO',
`payload` TEXT NOT NULL `payload` TEXT NOT NULL
); );
@ -139,7 +140,7 @@ CREATE TABLE `webhook` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`row_status` VARCHAR(255) NOT NULL DEFAULT 'NORMAL', `row_status` VARCHAR(256) NOT NULL DEFAULT 'NORMAL',
`creator_id` INT NOT NULL, `creator_id` INT NOT NULL,
`name` TEXT NOT NULL, `name` TEXT NOT NULL,
`url` TEXT NOT NULL `url` TEXT NOT NULL

@ -0,0 +1,10 @@
-- 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
);

@ -0,0 +1,4 @@
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';

@ -15,13 +15,13 @@ DROP TABLE IF EXISTS `inbox`;
-- migration_history -- migration_history
CREATE TABLE `migration_history` ( CREATE TABLE `migration_history` (
`version` VARCHAR(255) NOT NULL PRIMARY KEY, `version` VARCHAR(256) NOT NULL PRIMARY KEY,
`created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
); );
-- system_setting -- system_setting
CREATE TABLE `system_setting` ( CREATE TABLE `system_setting` (
`name` VARCHAR(255) NOT NULL PRIMARY KEY, `name` VARCHAR(256) NOT NULL PRIMARY KEY,
`value` LONGTEXT NOT NULL, `value` LONGTEXT NOT NULL,
`description` TEXT NOT NULL `description` TEXT NOT NULL
); );
@ -31,19 +31,19 @@ CREATE TABLE `user` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`row_status` VARCHAR(255) NOT NULL DEFAULT 'NORMAL', `row_status` VARCHAR(256) NOT NULL DEFAULT 'NORMAL',
`username` VARCHAR(255) NOT NULL UNIQUE, `username` VARCHAR(256) NOT NULL UNIQUE,
`role` VARCHAR(255) NOT NULL DEFAULT 'USER', `role` VARCHAR(256) NOT NULL DEFAULT 'USER',
`email` VARCHAR(255) NOT NULL DEFAULT '', `email` VARCHAR(256) NOT NULL DEFAULT '',
`nickname` VARCHAR(255) NOT NULL DEFAULT '', `nickname` VARCHAR(256) NOT NULL DEFAULT '',
`password_hash` VARCHAR(255) NOT NULL, `password_hash` VARCHAR(256) NOT NULL,
`avatar_url` LONGTEXT NOT NULL `avatar_url` LONGTEXT NOT NULL
); );
-- user_setting -- user_setting
CREATE TABLE `user_setting` ( CREATE TABLE `user_setting` (
`user_id` INT NOT NULL, `user_id` INT NOT NULL,
`key` VARCHAR(255) NOT NULL, `key` VARCHAR(256) NOT NULL,
`value` LONGTEXT NOT NULL, `value` LONGTEXT NOT NULL,
UNIQUE(`user_id`,`key`) UNIQUE(`user_id`,`key`)
); );
@ -54,9 +54,9 @@ CREATE TABLE `memo` (
`creator_id` INT NOT NULL, `creator_id` INT NOT NULL,
`created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`row_status` VARCHAR(255) NOT NULL DEFAULT 'NORMAL', `row_status` VARCHAR(256) NOT NULL DEFAULT 'NORMAL',
`content` TEXT NOT NULL, `content` TEXT NOT NULL,
`visibility` VARCHAR(255) NOT NULL DEFAULT 'PRIVATE' `visibility` VARCHAR(256) NOT NULL DEFAULT 'PRIVATE'
); );
-- memo_organizer -- memo_organizer
@ -84,15 +84,15 @@ CREATE TABLE `resource` (
`filename` TEXT NOT NULL, `filename` TEXT NOT NULL,
`blob` MEDIUMBLOB, `blob` MEDIUMBLOB,
`external_link` TEXT NOT NULL, `external_link` TEXT NOT NULL,
`type` VARCHAR(255) NOT NULL DEFAULT '', `type` VARCHAR(256) NOT NULL DEFAULT '',
`size` INT NOT NULL DEFAULT '0', `size` INT NOT NULL DEFAULT '0',
`internal_path` VARCHAR(255) NOT NULL DEFAULT '', `internal_path` VARCHAR(256) NOT NULL DEFAULT '',
`memo_id` INT DEFAULT NULL `memo_id` INT DEFAULT NULL
); );
-- tag -- tag
CREATE TABLE `tag` ( CREATE TABLE `tag` (
`name` VARCHAR(255) NOT NULL, `name` VARCHAR(256) NOT NULL,
`creator_id` INT NOT NULL, `creator_id` INT NOT NULL,
UNIQUE(`name`,`creator_id`) UNIQUE(`name`,`creator_id`)
); );
@ -102,8 +102,8 @@ CREATE TABLE `activity` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`creator_id` INT NOT NULL, `creator_id` INT NOT NULL,
`created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`type` VARCHAR(255) NOT NULL DEFAULT '', `type` VARCHAR(256) NOT NULL DEFAULT '',
`level` VARCHAR(255) NOT NULL DEFAULT 'INFO', `level` VARCHAR(256) NOT NULL DEFAULT 'INFO',
`payload` TEXT NOT NULL `payload` TEXT NOT NULL
); );

@ -1,41 +1,28 @@
-- drop all tables first (PostgreSQL style) -- drop all tables first (PostgreSQL style)
DROP TABLE IF EXISTS migration_history CASCADE; DROP TABLE IF EXISTS migration_history CASCADE;
DROP TABLE IF EXISTS system_setting CASCADE; DROP TABLE IF EXISTS system_setting CASCADE;
DROP TABLE IF EXISTS "user" CASCADE; DROP TABLE IF EXISTS "user" CASCADE;
DROP TABLE IF EXISTS user_setting CASCADE; DROP TABLE IF EXISTS user_setting CASCADE;
DROP TABLE IF EXISTS memo CASCADE; DROP TABLE IF EXISTS memo CASCADE;
DROP TABLE IF EXISTS memo_organizer CASCADE; DROP TABLE IF EXISTS memo_organizer CASCADE;
DROP TABLE IF EXISTS memo_relation CASCADE; DROP TABLE IF EXISTS memo_relation CASCADE;
DROP TABLE IF EXISTS resource CASCADE; DROP TABLE IF EXISTS resource CASCADE;
DROP TABLE IF EXISTS tag CASCADE; DROP TABLE IF EXISTS tag CASCADE;
DROP TABLE IF EXISTS activity CASCADE; DROP TABLE IF EXISTS activity CASCADE;
DROP TABLE IF EXISTS storage CASCADE; DROP TABLE IF EXISTS storage CASCADE;
DROP TABLE IF EXISTS idp CASCADE; DROP TABLE IF EXISTS idp CASCADE;
DROP TABLE IF EXISTS inbox CASCADE; DROP TABLE IF EXISTS inbox CASCADE;
DROP TABLE IF EXISTS webhook CASCADE; DROP TABLE IF EXISTS webhook CASCADE;
-- migration_history -- migration_history
CREATE TABLE 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 created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP
); );
-- system_setting -- system_setting
CREATE TABLE system_setting ( CREATE TABLE system_setting (
name VARCHAR(255) NOT NULL PRIMARY KEY, name TEXT NOT NULL PRIMARY KEY,
value TEXT NOT NULL, value TEXT NOT NULL,
description TEXT NOT NULL description TEXT NOT NULL
); );
@ -45,91 +32,88 @@ CREATE TABLE "user" (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP, created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_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',
username VARCHAR(255) NOT NULL UNIQUE, username TEXT NOT NULL UNIQUE,
role VARCHAR(255) NOT NULL DEFAULT 'USER', role TEXT NOT NULL DEFAULT 'USER',
email VARCHAR(255) NOT NULL DEFAULT '', email TEXT NOT NULL DEFAULT '',
nickname VARCHAR(255) NOT NULL DEFAULT '', nickname TEXT NOT NULL DEFAULT '',
password_hash VARCHAR(255) NOT NULL, password_hash TEXT NOT NULL,
avatar_url TEXT NOT NULL avatar_url TEXT NOT NULL
); );
-- user_setting -- user_setting
CREATE TABLE user_setting ( CREATE TABLE user_setting (
user_id INT NOT NULL, user_id INTEGER NOT NULL,
key VARCHAR(255) NOT NULL, key TEXT NOT NULL,
value TEXT NOT NULL, value TEXT NOT NULL,
UNIQUE(user_id, key), UNIQUE(user_id, key)
FOREIGN KEY (user_id) REFERENCES "user"(id) ON DELETE CASCADE
); );
-- memo -- memo
CREATE TABLE memo ( CREATE TABLE memo (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
creator_id INT NOT NULL, creator_id INTEGER NOT NULL,
created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP, created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_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, content TEXT NOT NULL,
visibility VARCHAR(255) NOT NULL DEFAULT 'PRIVATE' visibility TEXT NOT NULL DEFAULT 'PRIVATE'
); );
-- memo_organizer -- memo_organizer
CREATE TABLE memo_organizer ( CREATE TABLE memo_organizer (
memo_id INT NOT NULL, memo_id INTEGER NOT NULL,
user_id INT NOT NULL, user_id INTEGER NOT NULL,
pinned INT NOT NULL DEFAULT 0, pinned INTEGER NOT NULL DEFAULT 0,
UNIQUE(memo_id, user_id) UNIQUE(memo_id, user_id)
); );
-- memo_relation -- memo_relation
CREATE TABLE memo_relation ( CREATE TABLE memo_relation (
memo_id INT NOT NULL, memo_id INTEGER NOT NULL,
related_memo_id INT NOT NULL, related_memo_id INTEGER NOT NULL,
type VARCHAR(256) NOT NULL, type TEXT NOT NULL,
UNIQUE(memo_id, related_memo_id, type), 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
); );
-- resource -- resource
CREATE TABLE resource ( CREATE TABLE resource (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
creator_id INT NOT NULL, creator_id INTEGER NOT NULL,
created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP, created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_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, filename TEXT NOT NULL,
blob BYTEA, blob BYTEA,
external_link TEXT NOT NULL, external_link TEXT NOT NULL,
type VARCHAR(255) NOT NULL DEFAULT '', type TEXT NOT NULL DEFAULT '',
size INT NOT NULL DEFAULT 0, size INTEGER NOT NULL DEFAULT 0,
internal_path VARCHAR(255) NOT NULL DEFAULT '', internal_path TEXT NOT NULL DEFAULT '',
memo_id INT DEFAULT NULL memo_id INTEGER DEFAULT NULL
); );
-- tag -- tag
CREATE TABLE tag ( CREATE TABLE tag (
name VARCHAR(255) NOT NULL, name TEXT NOT NULL,
creator_id INT NOT NULL, creator_id INTEGER NOT NULL,
UNIQUE(name, creator_id) UNIQUE(name, creator_id)
); );
-- activity -- activity
CREATE TABLE activity ( CREATE TABLE activity (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
creator_id INT NOT NULL, creator_id INTEGER NOT NULL,
created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP, created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
type VARCHAR(255) NOT NULL DEFAULT '', type TEXT NOT NULL DEFAULT '',
level VARCHAR(255) NOT NULL DEFAULT 'INFO', level TEXT NOT NULL DEFAULT 'INFO',
payload TEXT NOT NULL payload JSONB NOT NULL DEFAULT '{}'
); );
-- storage -- storage
CREATE TABLE storage ( CREATE TABLE storage (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
name VARCHAR(256) NOT NULL, name TEXT NOT NULL,
type VARCHAR(256) NOT NULL, type TEXT NOT NULL,
config TEXT NOT NULL config JSONB NOT NULL DEFAULT '{}'
); );
-- idp -- idp
@ -137,16 +121,16 @@ CREATE TABLE idp (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
name TEXT NOT NULL, name TEXT NOT NULL,
type TEXT NOT NULL, type TEXT NOT NULL,
identifier_filter VARCHAR(256) NOT NULL DEFAULT '', identifier_filter TEXT NOT NULL DEFAULT '',
config TEXT NOT NULL config JSONB NOT NULL DEFAULT '{}'
); );
-- inbox -- inbox
CREATE TABLE inbox ( CREATE TABLE inbox (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP, created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
sender_id INT NOT NULL, sender_id INTEGER NOT NULL,
receiver_id INT NOT NULL, receiver_id INTEGER NOT NULL,
status TEXT NOT NULL, status TEXT NOT NULL,
message 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, created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_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', row_status TEXT NOT NULL DEFAULT 'NORMAL',
creator_id INT NOT NULL, creator_id INTEGER NOT NULL,
name TEXT NOT NULL, name TEXT NOT NULL,
url TEXT NOT NULL url TEXT NOT NULL
); );

@ -1,41 +1,28 @@
-- drop all tables first (PostgreSQL style) -- drop all tables first (PostgreSQL style)
DROP TABLE IF EXISTS migration_history CASCADE; DROP TABLE IF EXISTS migration_history CASCADE;
DROP TABLE IF EXISTS system_setting CASCADE; DROP TABLE IF EXISTS system_setting CASCADE;
DROP TABLE IF EXISTS "user" CASCADE; DROP TABLE IF EXISTS "user" CASCADE;
DROP TABLE IF EXISTS user_setting CASCADE; DROP TABLE IF EXISTS user_setting CASCADE;
DROP TABLE IF EXISTS memo CASCADE; DROP TABLE IF EXISTS memo CASCADE;
DROP TABLE IF EXISTS memo_organizer CASCADE; DROP TABLE IF EXISTS memo_organizer CASCADE;
DROP TABLE IF EXISTS memo_relation CASCADE; DROP TABLE IF EXISTS memo_relation CASCADE;
DROP TABLE IF EXISTS resource CASCADE; DROP TABLE IF EXISTS resource CASCADE;
DROP TABLE IF EXISTS tag CASCADE; DROP TABLE IF EXISTS tag CASCADE;
DROP TABLE IF EXISTS activity CASCADE; DROP TABLE IF EXISTS activity CASCADE;
DROP TABLE IF EXISTS storage CASCADE; DROP TABLE IF EXISTS storage CASCADE;
DROP TABLE IF EXISTS idp CASCADE; DROP TABLE IF EXISTS idp CASCADE;
DROP TABLE IF EXISTS inbox CASCADE; DROP TABLE IF EXISTS inbox CASCADE;
DROP TABLE IF EXISTS webhook CASCADE; DROP TABLE IF EXISTS webhook CASCADE;
-- migration_history -- migration_history
CREATE TABLE 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 created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP
); );
-- system_setting -- system_setting
CREATE TABLE system_setting ( CREATE TABLE system_setting (
name VARCHAR(255) NOT NULL PRIMARY KEY, name TEXT NOT NULL PRIMARY KEY,
value TEXT NOT NULL, value TEXT NOT NULL,
description TEXT NOT NULL description TEXT NOT NULL
); );
@ -45,91 +32,88 @@ CREATE TABLE "user" (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP, created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_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',
username VARCHAR(255) NOT NULL UNIQUE, username TEXT NOT NULL UNIQUE,
role VARCHAR(255) NOT NULL DEFAULT 'USER', role TEXT NOT NULL DEFAULT 'USER',
email VARCHAR(255) NOT NULL DEFAULT '', email TEXT NOT NULL DEFAULT '',
nickname VARCHAR(255) NOT NULL DEFAULT '', nickname TEXT NOT NULL DEFAULT '',
password_hash VARCHAR(255) NOT NULL, password_hash TEXT NOT NULL,
avatar_url TEXT NOT NULL avatar_url TEXT NOT NULL
); );
-- user_setting -- user_setting
CREATE TABLE user_setting ( CREATE TABLE user_setting (
user_id INT NOT NULL, user_id INTEGER NOT NULL,
key VARCHAR(255) NOT NULL, key TEXT NOT NULL,
value TEXT NOT NULL, value TEXT NOT NULL,
UNIQUE(user_id, key), UNIQUE(user_id, key)
FOREIGN KEY (user_id) REFERENCES "user"(id) ON DELETE CASCADE
); );
-- memo -- memo
CREATE TABLE memo ( CREATE TABLE memo (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
creator_id INT NOT NULL, creator_id INTEGER NOT NULL,
created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP, created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_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, content TEXT NOT NULL,
visibility VARCHAR(255) NOT NULL DEFAULT 'PRIVATE' visibility TEXT NOT NULL DEFAULT 'PRIVATE'
); );
-- memo_organizer -- memo_organizer
CREATE TABLE memo_organizer ( CREATE TABLE memo_organizer (
memo_id INT NOT NULL, memo_id INTEGER NOT NULL,
user_id INT NOT NULL, user_id INTEGER NOT NULL,
pinned INT NOT NULL DEFAULT 0, pinned INTEGER NOT NULL DEFAULT 0,
UNIQUE(memo_id, user_id) UNIQUE(memo_id, user_id)
); );
-- memo_relation -- memo_relation
CREATE TABLE memo_relation ( CREATE TABLE memo_relation (
memo_id INT NOT NULL, memo_id INTEGER NOT NULL,
related_memo_id INT NOT NULL, related_memo_id INTEGER NOT NULL,
type VARCHAR(256) NOT NULL, type TEXT NOT NULL,
UNIQUE(memo_id, related_memo_id, type), 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
); );
-- resource -- resource
CREATE TABLE resource ( CREATE TABLE resource (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
creator_id INT NOT NULL, creator_id INTEGER NOT NULL,
created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP, created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_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, filename TEXT NOT NULL,
blob BYTEA, blob BYTEA,
external_link TEXT NOT NULL, external_link TEXT NOT NULL,
type VARCHAR(255) NOT NULL DEFAULT '', type TEXT NOT NULL DEFAULT '',
size INT NOT NULL DEFAULT 0, size INTEGER NOT NULL DEFAULT 0,
internal_path VARCHAR(255) NOT NULL DEFAULT '', internal_path TEXT NOT NULL DEFAULT '',
memo_id INT DEFAULT NULL memo_id INTEGER DEFAULT NULL
); );
-- tag -- tag
CREATE TABLE tag ( CREATE TABLE tag (
name VARCHAR(255) NOT NULL, name TEXT NOT NULL,
creator_id INT NOT NULL, creator_id INTEGER NOT NULL,
UNIQUE(name, creator_id) UNIQUE(name, creator_id)
); );
-- activity -- activity
CREATE TABLE activity ( CREATE TABLE activity (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
creator_id INT NOT NULL, creator_id INTEGER NOT NULL,
created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP, created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
type VARCHAR(255) NOT NULL DEFAULT '', type TEXT NOT NULL DEFAULT '',
level VARCHAR(255) NOT NULL DEFAULT 'INFO', level TEXT NOT NULL DEFAULT 'INFO',
payload TEXT NOT NULL payload JSONB NOT NULL DEFAULT '{}'
); );
-- storage -- storage
CREATE TABLE storage ( CREATE TABLE storage (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
name VARCHAR(256) NOT NULL, name TEXT NOT NULL,
type VARCHAR(256) NOT NULL, type TEXT NOT NULL,
config TEXT NOT NULL config JSONB NOT NULL DEFAULT '{}'
); );
-- idp -- idp
@ -137,16 +121,16 @@ CREATE TABLE idp (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
name TEXT NOT NULL, name TEXT NOT NULL,
type TEXT NOT NULL, type TEXT NOT NULL,
identifier_filter VARCHAR(256) NOT NULL DEFAULT '', identifier_filter TEXT NOT NULL DEFAULT '',
config TEXT NOT NULL config JSONB NOT NULL DEFAULT '{}'
); );
-- inbox -- inbox
CREATE TABLE inbox ( CREATE TABLE inbox (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP, created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
sender_id INT NOT NULL, sender_id INTEGER NOT NULL,
receiver_id INT NOT NULL, receiver_id INTEGER NOT NULL,
status TEXT NOT NULL, status TEXT NOT NULL,
message 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, created_ts TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_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', row_status TEXT NOT NULL DEFAULT 'NORMAL',
creator_id INT NOT NULL, creator_id INTEGER NOT NULL,
name TEXT NOT NULL, name TEXT NOT NULL,
url TEXT NOT NULL url TEXT NOT NULL
); );

Loading…
Cancel
Save