mirror of https://github.com/usememos/memos
chore: tweak linter warning
parent
710d1b304e
commit
1b6685d7cf
@ -1,146 +0,0 @@
|
|||||||
-- migration_history
|
|
||||||
CREATE TABLE migration_history (
|
|
||||||
version TEXT NOT NULL PRIMARY KEY,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now'))
|
|
||||||
);
|
|
||||||
|
|
||||||
-- system_setting
|
|
||||||
CREATE TABLE system_setting (
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
value TEXT NOT NULL,
|
|
||||||
description TEXT NOT NULL DEFAULT '',
|
|
||||||
UNIQUE(name)
|
|
||||||
);
|
|
||||||
|
|
||||||
-- user
|
|
||||||
CREATE TABLE user (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
username TEXT NOT NULL UNIQUE,
|
|
||||||
role TEXT NOT NULL CHECK (role IN ('HOST', 'ADMIN', 'USER')) DEFAULT 'USER',
|
|
||||||
email TEXT NOT NULL DEFAULT '',
|
|
||||||
nickname TEXT NOT NULL DEFAULT '',
|
|
||||||
password_hash TEXT NOT NULL,
|
|
||||||
avatar_url TEXT NOT NULL DEFAULT '',
|
|
||||||
description TEXT NOT NULL DEFAULT ''
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE INDEX idx_user_username ON user (username);
|
|
||||||
|
|
||||||
-- user_setting
|
|
||||||
CREATE TABLE user_setting (
|
|
||||||
user_id INTEGER NOT NULL,
|
|
||||||
key TEXT NOT NULL,
|
|
||||||
value TEXT NOT NULL,
|
|
||||||
UNIQUE(user_id, key)
|
|
||||||
);
|
|
||||||
|
|
||||||
-- memo
|
|
||||||
CREATE TABLE memo (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
uid TEXT NOT NULL UNIQUE,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
content TEXT NOT NULL DEFAULT '',
|
|
||||||
visibility TEXT NOT NULL CHECK (visibility IN ('PUBLIC', 'PROTECTED', 'PRIVATE')) DEFAULT 'PRIVATE',
|
|
||||||
tags TEXT NOT NULL DEFAULT '[]',
|
|
||||||
payload TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE INDEX idx_memo_creator_id ON memo (creator_id);
|
|
||||||
CREATE INDEX idx_memo_content ON memo (content);
|
|
||||||
CREATE INDEX idx_memo_visibility ON memo (visibility);
|
|
||||||
CREATE INDEX idx_memo_tags ON memo (tags);
|
|
||||||
|
|
||||||
-- memo_organizer
|
|
||||||
CREATE TABLE memo_organizer (
|
|
||||||
memo_id INTEGER NOT NULL,
|
|
||||||
user_id INTEGER NOT NULL,
|
|
||||||
pinned INTEGER NOT NULL CHECK (pinned IN (0, 1)) DEFAULT 0,
|
|
||||||
UNIQUE(memo_id, user_id)
|
|
||||||
);
|
|
||||||
|
|
||||||
-- memo_relation
|
|
||||||
CREATE TABLE memo_relation (
|
|
||||||
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 INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
uid TEXT NOT NULL UNIQUE,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
filename TEXT NOT NULL DEFAULT '',
|
|
||||||
blob BLOB DEFAULT NULL,
|
|
||||||
type TEXT NOT NULL DEFAULT '',
|
|
||||||
size INTEGER NOT NULL DEFAULT 0,
|
|
||||||
memo_id INTEGER,
|
|
||||||
storage_type TEXT NOT NULL DEFAULT '',
|
|
||||||
reference TEXT NOT NULL DEFAULT '',
|
|
||||||
payload TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE INDEX idx_resource_creator_id ON resource (creator_id);
|
|
||||||
|
|
||||||
CREATE INDEX idx_resource_memo_id ON resource (memo_id);
|
|
||||||
|
|
||||||
-- activity
|
|
||||||
CREATE TABLE activity (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
type TEXT NOT NULL DEFAULT '',
|
|
||||||
level TEXT NOT NULL CHECK (level IN ('INFO', 'WARN', 'ERROR')) DEFAULT 'INFO',
|
|
||||||
payload TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
||||||
|
|
||||||
-- idp
|
|
||||||
CREATE TABLE idp (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
type TEXT NOT NULL,
|
|
||||||
identifier_filter TEXT NOT NULL DEFAULT '',
|
|
||||||
config TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
||||||
|
|
||||||
-- inbox
|
|
||||||
CREATE TABLE inbox (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
sender_id INTEGER NOT NULL,
|
|
||||||
receiver_id INTEGER NOT NULL,
|
|
||||||
status TEXT NOT NULL,
|
|
||||||
message TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
||||||
|
|
||||||
-- webhook
|
|
||||||
CREATE TABLE webhook (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
url TEXT NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE INDEX idx_webhook_creator_id ON webhook (creator_id);
|
|
||||||
|
|
||||||
-- reaction
|
|
||||||
CREATE TABLE reaction (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
content_id TEXT NOT NULL,
|
|
||||||
reaction_type TEXT NOT NULL,
|
|
||||||
UNIQUE(creator_id, content_id, reaction_type)
|
|
||||||
);
|
|
@ -1,9 +0,0 @@
|
|||||||
-- activity
|
|
||||||
CREATE TABLE activity (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
type TEXT NOT NULL DEFAULT '',
|
|
||||||
level TEXT NOT NULL CHECK (level IN ('INFO', 'WARN', 'ERROR')) DEFAULT 'INFO',
|
|
||||||
payload TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
@ -1,4 +0,0 @@
|
|||||||
ALTER TABLE
|
|
||||||
user
|
|
||||||
ADD
|
|
||||||
COLUMN avatar_url TEXT NOT NULL DEFAULT '';
|
|
@ -1,8 +0,0 @@
|
|||||||
-- idp
|
|
||||||
CREATE TABLE idp (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
type TEXT NOT NULL,
|
|
||||||
identifier_filter TEXT NOT NULL DEFAULT '',
|
|
||||||
config TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
@ -1,7 +0,0 @@
|
|||||||
-- storage
|
|
||||||
CREATE TABLE storage (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
type TEXT NOT NULL,
|
|
||||||
config TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
@ -1,6 +0,0 @@
|
|||||||
UPDATE
|
|
||||||
user_setting
|
|
||||||
SET
|
|
||||||
key = 'memo-visibility'
|
|
||||||
WHERE
|
|
||||||
key = 'memoVisibility';
|
|
@ -1,69 +0,0 @@
|
|||||||
UPDATE
|
|
||||||
system_setting
|
|
||||||
SET
|
|
||||||
name = 'server-id'
|
|
||||||
WHERE
|
|
||||||
name = 'serverId';
|
|
||||||
|
|
||||||
UPDATE
|
|
||||||
system_setting
|
|
||||||
SET
|
|
||||||
name = 'secret-session'
|
|
||||||
WHERE
|
|
||||||
name = 'secretSessionName';
|
|
||||||
|
|
||||||
UPDATE
|
|
||||||
system_setting
|
|
||||||
SET
|
|
||||||
name = 'allow-signup'
|
|
||||||
WHERE
|
|
||||||
name = 'allowSignUp';
|
|
||||||
|
|
||||||
UPDATE
|
|
||||||
system_setting
|
|
||||||
SET
|
|
||||||
name = 'disable-public-memos'
|
|
||||||
WHERE
|
|
||||||
name = 'disablePublicMemos';
|
|
||||||
|
|
||||||
UPDATE
|
|
||||||
system_setting
|
|
||||||
SET
|
|
||||||
name = 'additional-style'
|
|
||||||
WHERE
|
|
||||||
name = 'additionalStyle';
|
|
||||||
|
|
||||||
UPDATE
|
|
||||||
system_setting
|
|
||||||
SET
|
|
||||||
name = 'additional-script'
|
|
||||||
WHERE
|
|
||||||
name = 'additionalScript';
|
|
||||||
|
|
||||||
UPDATE
|
|
||||||
system_setting
|
|
||||||
SET
|
|
||||||
name = 'customized-profile'
|
|
||||||
WHERE
|
|
||||||
name = 'customizedProfile';
|
|
||||||
|
|
||||||
UPDATE
|
|
||||||
system_setting
|
|
||||||
SET
|
|
||||||
name = 'storage-service-id'
|
|
||||||
WHERE
|
|
||||||
name = 'storageServiceId';
|
|
||||||
|
|
||||||
UPDATE
|
|
||||||
system_setting
|
|
||||||
SET
|
|
||||||
name = 'local-storage-path'
|
|
||||||
WHERE
|
|
||||||
name = 'localStoragePath';
|
|
||||||
|
|
||||||
UPDATE
|
|
||||||
system_setting
|
|
||||||
SET
|
|
||||||
name = 'openai-config'
|
|
||||||
WHERE
|
|
||||||
name = 'openAIConfig';
|
|
@ -1,4 +0,0 @@
|
|||||||
ALTER TABLE
|
|
||||||
resource
|
|
||||||
ADD
|
|
||||||
COLUMN internal_path TEXT NOT NULL DEFAULT '';
|
|
@ -1,18 +0,0 @@
|
|||||||
ALTER TABLE
|
|
||||||
resource
|
|
||||||
ADD
|
|
||||||
COLUMN public_id TEXT NOT NULL DEFAULT '';
|
|
||||||
|
|
||||||
CREATE UNIQUE INDEX resource_id_public_id_unique_index ON resource (id, public_id);
|
|
||||||
|
|
||||||
UPDATE
|
|
||||||
resource
|
|
||||||
SET
|
|
||||||
public_id = printf (
|
|
||||||
'%s-%s-%s-%s-%s',
|
|
||||||
lower(hex(randomblob(4))),
|
|
||||||
lower(hex(randomblob(2))),
|
|
||||||
lower(hex(randomblob(2))),
|
|
||||||
lower(hex(randomblob(2))),
|
|
||||||
lower(hex(randomblob(6)))
|
|
||||||
);
|
|
@ -1,7 +0,0 @@
|
|||||||
-- memo_relation
|
|
||||||
CREATE TABLE memo_relation (
|
|
||||||
memo_id INTEGER NOT NULL,
|
|
||||||
related_memo_id INTEGER NOT NULL,
|
|
||||||
type TEXT NOT NULL,
|
|
||||||
UNIQUE(memo_id, related_memo_id, type)
|
|
||||||
);
|
|
@ -1,22 +0,0 @@
|
|||||||
DROP TABLE IF EXISTS memo_organizer_temp;
|
|
||||||
|
|
||||||
CREATE TABLE memo_organizer_temp (
|
|
||||||
memo_id INTEGER NOT NULL,
|
|
||||||
user_id INTEGER NOT NULL,
|
|
||||||
pinned INTEGER NOT NULL CHECK (pinned IN (0, 1)) DEFAULT 0,
|
|
||||||
UNIQUE(memo_id, user_id)
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
memo_organizer_temp (memo_id, user_id, pinned)
|
|
||||||
SELECT
|
|
||||||
memo_id,
|
|
||||||
user_id,
|
|
||||||
pinned
|
|
||||||
FROM
|
|
||||||
memo_organizer;
|
|
||||||
|
|
||||||
DROP TABLE memo_organizer;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
memo_organizer_temp RENAME TO memo_organizer;
|
|
@ -1,25 +0,0 @@
|
|||||||
DROP TABLE IF EXISTS resource_temp;
|
|
||||||
|
|
||||||
CREATE TABLE resource_temp (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
filename TEXT NOT NULL DEFAULT '',
|
|
||||||
blob BLOB DEFAULT NULL,
|
|
||||||
external_link TEXT NOT NULL DEFAULT '',
|
|
||||||
type TEXT NOT NULL DEFAULT '',
|
|
||||||
size INTEGER NOT NULL DEFAULT 0,
|
|
||||||
internal_path TEXT NOT NULL DEFAULT ''
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
resource_temp (id, creator_id, created_ts, updated_ts, filename, blob, external_link, type, size, internal_path)
|
|
||||||
SELECT
|
|
||||||
id, creator_id, created_ts, updated_ts, filename, blob, external_link, type, size, internal_path
|
|
||||||
FROM
|
|
||||||
resource;
|
|
||||||
|
|
||||||
DROP TABLE resource;
|
|
||||||
|
|
||||||
ALTER TABLE resource_temp RENAME TO resource;
|
|
@ -1,5 +0,0 @@
|
|||||||
CREATE INDEX IF NOT EXISTS idx_user_username ON user (username);
|
|
||||||
CREATE INDEX IF NOT EXISTS idx_memo_creator_id ON memo (creator_id);
|
|
||||||
CREATE INDEX IF NOT EXISTS idx_memo_content ON memo (content);
|
|
||||||
CREATE INDEX IF NOT EXISTS idx_memo_visibility ON memo (visibility);
|
|
||||||
CREATE INDEX IF NOT EXISTS idx_resource_creator_id ON resource (creator_id);
|
|
@ -1,25 +0,0 @@
|
|||||||
DROP TABLE IF EXISTS user_temp;
|
|
||||||
|
|
||||||
CREATE TABLE user_temp (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
username TEXT NOT NULL UNIQUE,
|
|
||||||
role TEXT NOT NULL CHECK (role IN ('HOST', 'ADMIN', 'USER')) DEFAULT 'USER',
|
|
||||||
email TEXT NOT NULL DEFAULT '',
|
|
||||||
nickname TEXT NOT NULL DEFAULT '',
|
|
||||||
password_hash TEXT NOT NULL,
|
|
||||||
avatar_url TEXT NOT NULL DEFAULT ''
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
user_temp (id, created_ts, updated_ts, row_status, username, role, email, nickname, password_hash, avatar_url)
|
|
||||||
SELECT
|
|
||||||
id, created_ts, updated_ts, row_status, username, role, email, nickname, password_hash, avatar_url
|
|
||||||
FROM
|
|
||||||
user;
|
|
||||||
|
|
||||||
DROP TABLE user;
|
|
||||||
|
|
||||||
ALTER TABLE user_temp RENAME TO user;
|
|
@ -1,13 +0,0 @@
|
|||||||
ALTER TABLE resource ADD COLUMN memo_id INTEGER;
|
|
||||||
|
|
||||||
UPDATE resource
|
|
||||||
SET memo_id = (
|
|
||||||
SELECT memo_id
|
|
||||||
FROM memo_resource
|
|
||||||
WHERE resource.id = memo_resource.resource_id
|
|
||||||
LIMIT 1
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE INDEX idx_resource_memo_id ON resource (memo_id);
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS memo_resource;
|
|
@ -1 +0,0 @@
|
|||||||
DROP TABLE IF EXISTS shortcut;
|
|
@ -1,9 +0,0 @@
|
|||||||
-- inbox
|
|
||||||
CREATE TABLE inbox (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
sender_id INTEGER NOT NULL,
|
|
||||||
receiver_id INTEGER NOT NULL,
|
|
||||||
status TEXT NOT NULL,
|
|
||||||
message TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
@ -1 +0,0 @@
|
|||||||
DELETE FROM activity;
|
|
@ -1,12 +0,0 @@
|
|||||||
-- webhook
|
|
||||||
CREATE TABLE webhook (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
url TEXT NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE INDEX idx_webhook_creator_id ON webhook (creator_id);
|
|
@ -1,4 +0,0 @@
|
|||||||
UPDATE user_setting SET key = 'USER_SETTING_LOCALE', value = REPLACE(value, '"', '') WHERE key = 'locale';
|
|
||||||
UPDATE user_setting SET key = 'USER_SETTING_APPEARANCE', value = REPLACE(value, '"', '') WHERE key = 'appearance';
|
|
||||||
UPDATE user_setting SET key = 'USER_SETTING_MEMO_VISIBILITY', value = REPLACE(value, '"', '') WHERE key = 'memo-visibility';
|
|
||||||
UPDATE user_setting SET key = 'USER_SETTING_TELEGRAM_USER_ID', value = REPLACE(value, '"', '') WHERE key = 'telegram-user-id';
|
|
@ -1,11 +0,0 @@
|
|||||||
ALTER TABLE memo ADD COLUMN resource_name TEXT NOT NULL DEFAULT "";
|
|
||||||
|
|
||||||
UPDATE memo SET resource_name = lower(hex(randomblob(8)));
|
|
||||||
|
|
||||||
CREATE UNIQUE INDEX idx_memo_resource_name ON memo (resource_name);
|
|
||||||
|
|
||||||
ALTER TABLE resource ADD COLUMN resource_name TEXT NOT NULL DEFAULT "";
|
|
||||||
|
|
||||||
UPDATE resource SET resource_name = lower(hex(randomblob(8)));
|
|
||||||
|
|
||||||
CREATE UNIQUE INDEX idx_resource_resource_name ON resource (resource_name);
|
|
@ -1,60 +0,0 @@
|
|||||||
-- change user role field from "OWNER"/"USER" to "HOST"/"USER".
|
|
||||||
PRAGMA foreign_keys = off;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _user_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
user RENAME TO _user_old;
|
|
||||||
|
|
||||||
CREATE TABLE user (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
email TEXT NOT NULL UNIQUE,
|
|
||||||
role TEXT NOT NULL CHECK (role IN ('HOST', 'USER')) DEFAULT 'USER',
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
password_hash TEXT NOT NULL,
|
|
||||||
open_id TEXT NOT NULL UNIQUE
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
user (
|
|
||||||
id,
|
|
||||||
created_ts,
|
|
||||||
updated_ts,
|
|
||||||
row_status,
|
|
||||||
email,
|
|
||||||
name,
|
|
||||||
password_hash,
|
|
||||||
open_id
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
id,
|
|
||||||
created_ts,
|
|
||||||
updated_ts,
|
|
||||||
row_status,
|
|
||||||
email,
|
|
||||||
name,
|
|
||||||
password_hash,
|
|
||||||
open_id
|
|
||||||
FROM
|
|
||||||
_user_old;
|
|
||||||
|
|
||||||
UPDATE
|
|
||||||
user
|
|
||||||
SET
|
|
||||||
role = 'HOST'
|
|
||||||
WHERE
|
|
||||||
id IN (
|
|
||||||
SELECT
|
|
||||||
id
|
|
||||||
FROM
|
|
||||||
_user_old
|
|
||||||
WHERE
|
|
||||||
role = 'OWNER'
|
|
||||||
);
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _user_old;
|
|
||||||
|
|
||||||
PRAGMA foreign_keys = on;
|
|
@ -1,4 +0,0 @@
|
|||||||
ALTER TABLE
|
|
||||||
memo
|
|
||||||
ADD
|
|
||||||
COLUMN visibility TEXT NOT NULL CHECK (visibility IN ('PUBLIC', 'PRIVATE')) DEFAULT 'PRIVATE';
|
|
@ -1,9 +0,0 @@
|
|||||||
-- reaction
|
|
||||||
CREATE TABLE reaction (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
content_id TEXT NOT NULL,
|
|
||||||
reaction_type TEXT NOT NULL,
|
|
||||||
UNIQUE(creator_id, content_id, reaction_type)
|
|
||||||
);
|
|
@ -1 +0,0 @@
|
|||||||
ALTER TABLE user ADD COLUMN description TEXT NOT NULL DEFAULT "";
|
|
@ -1,3 +0,0 @@
|
|||||||
ALTER TABLE memo RENAME COLUMN resource_name TO uid;
|
|
||||||
|
|
||||||
ALTER TABLE resource RENAME COLUMN resource_name TO uid;
|
|
@ -1,17 +0,0 @@
|
|||||||
ALTER TABLE resource ADD COLUMN storage_type TEXT NOT NULL DEFAULT '';
|
|
||||||
|
|
||||||
ALTER TABLE resource ADD COLUMN reference TEXT NOT NULL DEFAULT '';
|
|
||||||
|
|
||||||
ALTER TABLE resource ADD COLUMN payload TEXT NOT NULL DEFAULT '{}';
|
|
||||||
|
|
||||||
UPDATE resource
|
|
||||||
SET storage_type = 'LOCAL', reference = internal_path
|
|
||||||
WHERE internal_path IS NOT NULL AND internal_path != '';
|
|
||||||
|
|
||||||
UPDATE resource
|
|
||||||
SET storage_type = 'EXTERNAL', reference = external_link
|
|
||||||
WHERE external_link IS NOT NULL AND external_link != '';
|
|
||||||
|
|
||||||
ALTER TABLE resource DROP COLUMN internal_path;
|
|
||||||
|
|
||||||
ALTER TABLE resource DROP COLUMN external_link;
|
|
@ -1,3 +0,0 @@
|
|||||||
ALTER TABLE memo ADD COLUMN tags TEXT NOT NULL DEFAULT '[]';
|
|
||||||
|
|
||||||
CREATE INDEX idx_memo_tags ON memo (tags);
|
|
@ -1 +0,0 @@
|
|||||||
ALTER TABLE memo ADD COLUMN payload TEXT NOT NULL DEFAULT '{}';
|
|
@ -1 +0,0 @@
|
|||||||
DROP TABLE tag;
|
|
@ -1,43 +0,0 @@
|
|||||||
-- change memo visibility field from "PRIVATE"/"PUBLIC" to "PRIVATE"/"PROTECTED"/"PUBLIC".
|
|
||||||
PRAGMA foreign_keys = off;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _memo_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
memo RENAME TO _memo_old;
|
|
||||||
|
|
||||||
CREATE TABLE memo (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
content TEXT NOT NULL DEFAULT '',
|
|
||||||
visibility TEXT NOT NULL CHECK (visibility IN ('PUBLIC', 'PROTECTED', 'PRIVATE')) DEFAULT 'PRIVATE',
|
|
||||||
FOREIGN KEY(creator_id) REFERENCES user(id) ON DELETE CASCADE
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
memo (
|
|
||||||
id,
|
|
||||||
creator_id,
|
|
||||||
created_ts,
|
|
||||||
updated_ts,
|
|
||||||
row_status,
|
|
||||||
content,
|
|
||||||
visibility
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
id,
|
|
||||||
creator_id,
|
|
||||||
created_ts,
|
|
||||||
updated_ts,
|
|
||||||
row_status,
|
|
||||||
content,
|
|
||||||
visibility
|
|
||||||
FROM
|
|
||||||
_memo_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _memo_old;
|
|
||||||
|
|
||||||
PRAGMA foreign_keys = on;
|
|
@ -1,9 +0,0 @@
|
|||||||
-- user_setting
|
|
||||||
CREATE TABLE user_setting (
|
|
||||||
user_id INTEGER NOT NULL,
|
|
||||||
key TEXT NOT NULL,
|
|
||||||
value TEXT NOT NULL,
|
|
||||||
FOREIGN KEY(user_id) REFERENCES user(id) ON DELETE CASCADE
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE UNIQUE INDEX user_setting_key_user_id_index ON user_setting(key, user_id);
|
|
@ -1,217 +0,0 @@
|
|||||||
PRAGMA foreign_keys = off;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _user_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
user RENAME TO _user_old;
|
|
||||||
|
|
||||||
-- user
|
|
||||||
CREATE TABLE user (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
email TEXT NOT NULL UNIQUE,
|
|
||||||
role TEXT NOT NULL CHECK (role IN ('HOST', 'USER')) DEFAULT 'USER',
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
password_hash TEXT NOT NULL,
|
|
||||||
open_id TEXT NOT NULL UNIQUE
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
user
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
_user_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _user_old;
|
|
||||||
|
|
||||||
DROP TRIGGER IF EXISTS `trigger_update_user_modification_time`;
|
|
||||||
|
|
||||||
CREATE TRIGGER IF NOT EXISTS `trigger_update_user_modification_time`
|
|
||||||
AFTER
|
|
||||||
UPDATE
|
|
||||||
ON `user` FOR EACH ROW BEGIN
|
|
||||||
UPDATE
|
|
||||||
`user`
|
|
||||||
SET
|
|
||||||
updated_ts = (strftime('%s', 'now'))
|
|
||||||
WHERE
|
|
||||||
rowid = old.rowid;
|
|
||||||
|
|
||||||
END;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _memo_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
memo RENAME TO _memo_old;
|
|
||||||
|
|
||||||
-- memo
|
|
||||||
CREATE TABLE memo (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
content TEXT NOT NULL DEFAULT '',
|
|
||||||
visibility TEXT NOT NULL CHECK (visibility IN ('PUBLIC', 'PROTECTED', 'PRIVATE')) DEFAULT 'PRIVATE',
|
|
||||||
FOREIGN KEY(creator_id) REFERENCES user(id) ON DELETE CASCADE
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
memo
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
_memo_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _memo_old;
|
|
||||||
|
|
||||||
DROP TRIGGER IF EXISTS `trigger_update_memo_modification_time`;
|
|
||||||
|
|
||||||
CREATE TRIGGER IF NOT EXISTS `trigger_update_memo_modification_time`
|
|
||||||
AFTER
|
|
||||||
UPDATE
|
|
||||||
ON `memo` FOR EACH ROW BEGIN
|
|
||||||
UPDATE
|
|
||||||
`memo`
|
|
||||||
SET
|
|
||||||
updated_ts = (strftime('%s', 'now'))
|
|
||||||
WHERE
|
|
||||||
rowid = old.rowid;
|
|
||||||
|
|
||||||
END;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _memo_organizer_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
memo_organizer RENAME TO _memo_organizer_old;
|
|
||||||
|
|
||||||
-- memo_organizer
|
|
||||||
CREATE TABLE memo_organizer (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
memo_id INTEGER NOT NULL,
|
|
||||||
user_id INTEGER NOT NULL,
|
|
||||||
pinned INTEGER NOT NULL CHECK (pinned IN (0, 1)) DEFAULT 0,
|
|
||||||
FOREIGN KEY(memo_id) REFERENCES memo(id) ON DELETE CASCADE,
|
|
||||||
FOREIGN KEY(user_id) REFERENCES user(id) ON DELETE CASCADE,
|
|
||||||
UNIQUE(memo_id, user_id)
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
memo_organizer
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
_memo_organizer_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _memo_organizer_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _shortcut_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
shortcut RENAME TO _shortcut_old;
|
|
||||||
|
|
||||||
-- shortcut
|
|
||||||
CREATE TABLE shortcut (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
title TEXT NOT NULL DEFAULT '',
|
|
||||||
payload TEXT NOT NULL DEFAULT '{}',
|
|
||||||
FOREIGN KEY(creator_id) REFERENCES user(id) ON DELETE CASCADE
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
shortcut
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
_shortcut_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _shortcut_old;
|
|
||||||
|
|
||||||
DROP TRIGGER IF EXISTS `trigger_update_shortcut_modification_time`;
|
|
||||||
|
|
||||||
CREATE TRIGGER IF NOT EXISTS `trigger_update_shortcut_modification_time`
|
|
||||||
AFTER
|
|
||||||
UPDATE
|
|
||||||
ON `shortcut` FOR EACH ROW BEGIN
|
|
||||||
UPDATE
|
|
||||||
`shortcut`
|
|
||||||
SET
|
|
||||||
updated_ts = (strftime('%s', 'now'))
|
|
||||||
WHERE
|
|
||||||
rowid = old.rowid;
|
|
||||||
|
|
||||||
END;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _resource_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
resource RENAME TO _resource_old;
|
|
||||||
|
|
||||||
-- resource
|
|
||||||
CREATE TABLE resource (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
filename TEXT NOT NULL DEFAULT '',
|
|
||||||
blob BLOB DEFAULT NULL,
|
|
||||||
type TEXT NOT NULL DEFAULT '',
|
|
||||||
size INTEGER NOT NULL DEFAULT 0,
|
|
||||||
FOREIGN KEY(creator_id) REFERENCES user(id) ON DELETE CASCADE
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
resource
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
_resource_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _resource_old;
|
|
||||||
|
|
||||||
DROP TRIGGER IF EXISTS `trigger_update_resource_modification_time`;
|
|
||||||
|
|
||||||
CREATE TRIGGER IF NOT EXISTS `trigger_update_resource_modification_time`
|
|
||||||
AFTER
|
|
||||||
UPDATE
|
|
||||||
ON `resource` FOR EACH ROW BEGIN
|
|
||||||
UPDATE
|
|
||||||
`resource`
|
|
||||||
SET
|
|
||||||
updated_ts = (strftime('%s', 'now'))
|
|
||||||
WHERE
|
|
||||||
rowid = old.rowid;
|
|
||||||
|
|
||||||
END;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _user_setting_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
user_setting RENAME TO _user_setting_old;
|
|
||||||
|
|
||||||
-- user_setting
|
|
||||||
CREATE TABLE user_setting (
|
|
||||||
user_id INTEGER NOT NULL,
|
|
||||||
key TEXT NOT NULL,
|
|
||||||
value TEXT NOT NULL,
|
|
||||||
FOREIGN KEY(user_id) REFERENCES user(id) ON DELETE CASCADE,
|
|
||||||
UNIQUE(user_id, key)
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
user_setting
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
_user_setting_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _user_setting_old;
|
|
||||||
|
|
||||||
PRAGMA foreign_keys = on;
|
|
@ -1,10 +0,0 @@
|
|||||||
-- memo_resource
|
|
||||||
CREATE TABLE memo_resource (
|
|
||||||
memo_id INTEGER NOT NULL,
|
|
||||||
resource_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
FOREIGN KEY(memo_id) REFERENCES memo(id) ON DELETE CASCADE,
|
|
||||||
FOREIGN KEY(resource_id) REFERENCES resource(id) ON DELETE CASCADE,
|
|
||||||
UNIQUE(memo_id, resource_id)
|
|
||||||
);
|
|
@ -1,7 +0,0 @@
|
|||||||
-- system_setting
|
|
||||||
CREATE TABLE system_setting (
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
value TEXT NOT NULL,
|
|
||||||
description TEXT NOT NULL DEFAULT '',
|
|
||||||
UNIQUE(name)
|
|
||||||
);
|
|
@ -1,4 +0,0 @@
|
|||||||
ALTER TABLE
|
|
||||||
resource
|
|
||||||
ADD
|
|
||||||
COLUMN external_link TEXT NOT NULL DEFAULT '';
|
|
@ -1,59 +0,0 @@
|
|||||||
DROP TRIGGER IF EXISTS `trigger_update_user_modification_time`;
|
|
||||||
|
|
||||||
CREATE TRIGGER IF NOT EXISTS `trigger_update_user_modification_time`
|
|
||||||
AFTER
|
|
||||||
UPDATE
|
|
||||||
ON `user` FOR EACH ROW BEGIN
|
|
||||||
UPDATE
|
|
||||||
`user`
|
|
||||||
SET
|
|
||||||
updated_ts = (strftime('%s', 'now'))
|
|
||||||
WHERE
|
|
||||||
rowid = old.rowid;
|
|
||||||
|
|
||||||
END;
|
|
||||||
|
|
||||||
DROP TRIGGER IF EXISTS `trigger_update_memo_modification_time`;
|
|
||||||
|
|
||||||
CREATE TRIGGER IF NOT EXISTS `trigger_update_memo_modification_time`
|
|
||||||
AFTER
|
|
||||||
UPDATE
|
|
||||||
ON `memo` FOR EACH ROW BEGIN
|
|
||||||
UPDATE
|
|
||||||
`memo`
|
|
||||||
SET
|
|
||||||
updated_ts = (strftime('%s', 'now'))
|
|
||||||
WHERE
|
|
||||||
rowid = old.rowid;
|
|
||||||
|
|
||||||
END;
|
|
||||||
|
|
||||||
DROP TRIGGER IF EXISTS `trigger_update_shortcut_modification_time`;
|
|
||||||
|
|
||||||
CREATE TRIGGER IF NOT EXISTS `trigger_update_shortcut_modification_time`
|
|
||||||
AFTER
|
|
||||||
UPDATE
|
|
||||||
ON `shortcut` FOR EACH ROW BEGIN
|
|
||||||
UPDATE
|
|
||||||
`shortcut`
|
|
||||||
SET
|
|
||||||
updated_ts = (strftime('%s', 'now'))
|
|
||||||
WHERE
|
|
||||||
rowid = old.rowid;
|
|
||||||
|
|
||||||
END;
|
|
||||||
|
|
||||||
DROP TRIGGER IF EXISTS `trigger_update_resource_modification_time`;
|
|
||||||
|
|
||||||
CREATE TRIGGER IF NOT EXISTS `trigger_update_resource_modification_time`
|
|
||||||
AFTER
|
|
||||||
UPDATE
|
|
||||||
ON `resource` FOR EACH ROW BEGIN
|
|
||||||
UPDATE
|
|
||||||
`resource`
|
|
||||||
SET
|
|
||||||
updated_ts = (strftime('%s', 'now'))
|
|
||||||
WHERE
|
|
||||||
rowid = old.rowid;
|
|
||||||
|
|
||||||
END;
|
|
@ -1,191 +0,0 @@
|
|||||||
PRAGMA foreign_keys = off;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _user_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
user RENAME TO _user_old;
|
|
||||||
|
|
||||||
-- user
|
|
||||||
CREATE TABLE user (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
email TEXT NOT NULL UNIQUE,
|
|
||||||
role TEXT NOT NULL CHECK (role IN ('HOST', 'USER')) DEFAULT 'USER',
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
password_hash TEXT NOT NULL,
|
|
||||||
open_id TEXT NOT NULL UNIQUE
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
user
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
_user_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _user_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _memo_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
memo RENAME TO _memo_old;
|
|
||||||
|
|
||||||
-- memo
|
|
||||||
CREATE TABLE memo (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
content TEXT NOT NULL DEFAULT '',
|
|
||||||
visibility TEXT NOT NULL CHECK (visibility IN ('PUBLIC', 'PROTECTED', 'PRIVATE')) DEFAULT 'PRIVATE'
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
memo
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
_memo_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _memo_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _memo_organizer_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
memo_organizer RENAME TO _memo_organizer_old;
|
|
||||||
|
|
||||||
-- memo_organizer
|
|
||||||
CREATE TABLE memo_organizer (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
memo_id INTEGER NOT NULL,
|
|
||||||
user_id INTEGER NOT NULL,
|
|
||||||
pinned INTEGER NOT NULL CHECK (pinned IN (0, 1)) DEFAULT 0,
|
|
||||||
UNIQUE(memo_id, user_id)
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
memo_organizer
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
_memo_organizer_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _memo_organizer_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _shortcut_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
shortcut RENAME TO _shortcut_old;
|
|
||||||
|
|
||||||
-- shortcut
|
|
||||||
CREATE TABLE shortcut (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
title TEXT NOT NULL DEFAULT '',
|
|
||||||
payload TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
shortcut
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
_shortcut_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _shortcut_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _resource_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
resource RENAME TO _resource_old;
|
|
||||||
|
|
||||||
-- resource
|
|
||||||
CREATE TABLE resource (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
filename TEXT NOT NULL DEFAULT '',
|
|
||||||
blob BLOB DEFAULT NULL,
|
|
||||||
external_link TEXT NOT NULL DEFAULT '',
|
|
||||||
type TEXT NOT NULL DEFAULT '',
|
|
||||||
size INTEGER NOT NULL DEFAULT 0
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
resource (
|
|
||||||
id,
|
|
||||||
creator_id,
|
|
||||||
created_ts,
|
|
||||||
updated_ts,
|
|
||||||
filename,
|
|
||||||
blob,
|
|
||||||
external_link,
|
|
||||||
type,
|
|
||||||
size
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
id,
|
|
||||||
creator_id,
|
|
||||||
created_ts,
|
|
||||||
updated_ts,
|
|
||||||
filename,
|
|
||||||
blob,
|
|
||||||
external_link,
|
|
||||||
type,
|
|
||||||
size
|
|
||||||
FROM
|
|
||||||
_resource_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _resource_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _user_setting_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
user_setting RENAME TO _user_setting_old;
|
|
||||||
|
|
||||||
-- user_setting
|
|
||||||
CREATE TABLE user_setting (
|
|
||||||
user_id INTEGER NOT NULL,
|
|
||||||
key TEXT NOT NULL,
|
|
||||||
value TEXT NOT NULL,
|
|
||||||
UNIQUE(user_id, key)
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
user_setting
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
_user_setting_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _user_setting_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _memo_resource_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
memo_resource RENAME TO _memo_resource_old;
|
|
||||||
|
|
||||||
-- memo_resource
|
|
||||||
CREATE TABLE memo_resource (
|
|
||||||
memo_id INTEGER NOT NULL,
|
|
||||||
resource_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
UNIQUE(memo_id, resource_id)
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
memo_resource
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
_memo_resource_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _memo_resource_old;
|
|
@ -1,7 +0,0 @@
|
|||||||
DROP TRIGGER IF EXISTS `trigger_update_user_modification_time`;
|
|
||||||
|
|
||||||
DROP TRIGGER IF EXISTS `trigger_update_memo_modification_time`;
|
|
||||||
|
|
||||||
DROP TRIGGER IF EXISTS `trigger_update_shortcut_modification_time`;
|
|
||||||
|
|
||||||
DROP TRIGGER IF EXISTS `trigger_update_resource_modification_time`;
|
|
@ -1,5 +0,0 @@
|
|||||||
-- migration_history
|
|
||||||
CREATE TABLE IF NOT EXISTS migration_history (
|
|
||||||
version TEXT NOT NULL PRIMARY KEY,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now'))
|
|
||||||
);
|
|
@ -1,50 +0,0 @@
|
|||||||
-- add column username TEXT NOT NULL UNIQUE
|
|
||||||
-- rename column name to nickname
|
|
||||||
-- add role `ADMIN`
|
|
||||||
DROP TABLE IF EXISTS _user_old;
|
|
||||||
|
|
||||||
ALTER TABLE
|
|
||||||
user RENAME TO _user_old;
|
|
||||||
|
|
||||||
-- user
|
|
||||||
CREATE TABLE user (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
username TEXT NOT NULL UNIQUE,
|
|
||||||
role TEXT NOT NULL CHECK (role IN ('HOST', 'ADMIN', 'USER')) DEFAULT 'USER',
|
|
||||||
email TEXT NOT NULL DEFAULT '',
|
|
||||||
nickname TEXT NOT NULL DEFAULT '',
|
|
||||||
password_hash TEXT NOT NULL,
|
|
||||||
open_id TEXT NOT NULL UNIQUE
|
|
||||||
);
|
|
||||||
|
|
||||||
INSERT INTO
|
|
||||||
user (
|
|
||||||
id,
|
|
||||||
created_ts,
|
|
||||||
updated_ts,
|
|
||||||
row_status,
|
|
||||||
username,
|
|
||||||
role,
|
|
||||||
email,
|
|
||||||
nickname,
|
|
||||||
password_hash,
|
|
||||||
open_id
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
id,
|
|
||||||
created_ts,
|
|
||||||
updated_ts,
|
|
||||||
row_status,
|
|
||||||
email,
|
|
||||||
role,
|
|
||||||
email,
|
|
||||||
name,
|
|
||||||
password_hash,
|
|
||||||
open_id
|
|
||||||
FROM
|
|
||||||
_user_old;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS _user_old;
|
|
@ -1,6 +0,0 @@
|
|||||||
-- tag
|
|
||||||
CREATE TABLE tag (
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
UNIQUE(name, creator_id)
|
|
||||||
);
|
|
@ -1,146 +0,0 @@
|
|||||||
-- migration_history
|
|
||||||
CREATE TABLE migration_history (
|
|
||||||
version TEXT NOT NULL PRIMARY KEY,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now'))
|
|
||||||
);
|
|
||||||
|
|
||||||
-- system_setting
|
|
||||||
CREATE TABLE system_setting (
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
value TEXT NOT NULL,
|
|
||||||
description TEXT NOT NULL DEFAULT '',
|
|
||||||
UNIQUE(name)
|
|
||||||
);
|
|
||||||
|
|
||||||
-- user
|
|
||||||
CREATE TABLE user (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
username TEXT NOT NULL UNIQUE,
|
|
||||||
role TEXT NOT NULL CHECK (role IN ('HOST', 'ADMIN', 'USER')) DEFAULT 'USER',
|
|
||||||
email TEXT NOT NULL DEFAULT '',
|
|
||||||
nickname TEXT NOT NULL DEFAULT '',
|
|
||||||
password_hash TEXT NOT NULL,
|
|
||||||
avatar_url TEXT NOT NULL DEFAULT '',
|
|
||||||
description TEXT NOT NULL DEFAULT ''
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE INDEX idx_user_username ON user (username);
|
|
||||||
|
|
||||||
-- user_setting
|
|
||||||
CREATE TABLE user_setting (
|
|
||||||
user_id INTEGER NOT NULL,
|
|
||||||
key TEXT NOT NULL,
|
|
||||||
value TEXT NOT NULL,
|
|
||||||
UNIQUE(user_id, key)
|
|
||||||
);
|
|
||||||
|
|
||||||
-- memo
|
|
||||||
CREATE TABLE memo (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
uid TEXT NOT NULL UNIQUE,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
content TEXT NOT NULL DEFAULT '',
|
|
||||||
visibility TEXT NOT NULL CHECK (visibility IN ('PUBLIC', 'PROTECTED', 'PRIVATE')) DEFAULT 'PRIVATE',
|
|
||||||
tags TEXT NOT NULL DEFAULT '[]',
|
|
||||||
payload TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE INDEX idx_memo_creator_id ON memo (creator_id);
|
|
||||||
CREATE INDEX idx_memo_content ON memo (content);
|
|
||||||
CREATE INDEX idx_memo_visibility ON memo (visibility);
|
|
||||||
CREATE INDEX idx_memo_tags ON memo (tags);
|
|
||||||
|
|
||||||
-- memo_organizer
|
|
||||||
CREATE TABLE memo_organizer (
|
|
||||||
memo_id INTEGER NOT NULL,
|
|
||||||
user_id INTEGER NOT NULL,
|
|
||||||
pinned INTEGER NOT NULL CHECK (pinned IN (0, 1)) DEFAULT 0,
|
|
||||||
UNIQUE(memo_id, user_id)
|
|
||||||
);
|
|
||||||
|
|
||||||
-- memo_relation
|
|
||||||
CREATE TABLE memo_relation (
|
|
||||||
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 INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
uid TEXT NOT NULL UNIQUE,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
filename TEXT NOT NULL DEFAULT '',
|
|
||||||
blob BLOB DEFAULT NULL,
|
|
||||||
type TEXT NOT NULL DEFAULT '',
|
|
||||||
size INTEGER NOT NULL DEFAULT 0,
|
|
||||||
memo_id INTEGER,
|
|
||||||
storage_type TEXT NOT NULL DEFAULT '',
|
|
||||||
reference TEXT NOT NULL DEFAULT '',
|
|
||||||
payload TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE INDEX idx_resource_creator_id ON resource (creator_id);
|
|
||||||
|
|
||||||
CREATE INDEX idx_resource_memo_id ON resource (memo_id);
|
|
||||||
|
|
||||||
-- activity
|
|
||||||
CREATE TABLE activity (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
type TEXT NOT NULL DEFAULT '',
|
|
||||||
level TEXT NOT NULL CHECK (level IN ('INFO', 'WARN', 'ERROR')) DEFAULT 'INFO',
|
|
||||||
payload TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
||||||
|
|
||||||
-- idp
|
|
||||||
CREATE TABLE idp (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
type TEXT NOT NULL,
|
|
||||||
identifier_filter TEXT NOT NULL DEFAULT '',
|
|
||||||
config TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
||||||
|
|
||||||
-- inbox
|
|
||||||
CREATE TABLE inbox (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
sender_id INTEGER NOT NULL,
|
|
||||||
receiver_id INTEGER NOT NULL,
|
|
||||||
status TEXT NOT NULL,
|
|
||||||
message TEXT NOT NULL DEFAULT '{}'
|
|
||||||
);
|
|
||||||
|
|
||||||
-- webhook
|
|
||||||
CREATE TABLE webhook (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
url TEXT NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE INDEX idx_webhook_creator_id ON webhook (creator_id);
|
|
||||||
|
|
||||||
-- reaction
|
|
||||||
CREATE TABLE reaction (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
|
||||||
creator_id INTEGER NOT NULL,
|
|
||||||
content_id TEXT NOT NULL,
|
|
||||||
reaction_type TEXT NOT NULL,
|
|
||||||
UNIQUE(creator_id, content_id, reaction_type)
|
|
||||||
);
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue