mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
chore: update latest schema
This commit is contained in:
@ -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
|
||||||
|
10
store/db/mysql/migration/prod/0.18/01__webhook.sql
Normal file
10
store/db/mysql/migration/prod/0.18/01__webhook.sql
Normal file
@ -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
|
||||||
|
);
|
4
store/db/mysql/migration/prod/0.18/02__user_setting.sql
Normal file
4
store/db/mysql/migration/prod/0.18/02__user_setting.sql
Normal file
@ -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
|
||||||
);
|
);
|
Reference in New Issue
Block a user