0.29.1原版
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
-- Set storage type to DATABASE for existing instances that have no storage setting configured.
|
||||
-- This preserves backward-compatible behavior before the default was changed to LOCAL.
|
||||
INSERT INTO system_setting (name, value, description)
|
||||
SELECT 'STORAGE', '{"storageType":"DATABASE"}', ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM system_setting WHERE name = 'STORAGE');
|
||||
@@ -0,0 +1,8 @@
|
||||
-- Add uid column to idp table
|
||||
ALTER TABLE idp ADD COLUMN uid TEXT NOT NULL DEFAULT '';
|
||||
|
||||
-- Populate uid for existing rows using hex of id as a fallback
|
||||
UPDATE idp SET uid = printf('%08x', id) WHERE uid = '';
|
||||
|
||||
-- Create unique index on uid
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_idp_uid ON idp (uid);
|
||||
@@ -0,0 +1,25 @@
|
||||
UPDATE inbox
|
||||
SET message = json_set(
|
||||
json_remove(message, '$.activityId'),
|
||||
'$.memoComment',
|
||||
json_object(
|
||||
'memoId',
|
||||
(
|
||||
SELECT json_extract(activity.payload, '$.memoComment.memoId')
|
||||
FROM activity
|
||||
WHERE activity.id = json_extract(inbox.message, '$.activityId')
|
||||
),
|
||||
'relatedMemoId',
|
||||
(
|
||||
SELECT json_extract(activity.payload, '$.memoComment.relatedMemoId')
|
||||
FROM activity
|
||||
WHERE activity.id = json_extract(inbox.message, '$.activityId')
|
||||
)
|
||||
)
|
||||
)
|
||||
WHERE json_extract(message, '$.activityId') IS NOT NULL
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM activity
|
||||
WHERE activity.id = json_extract(inbox.message, '$.activityId')
|
||||
);
|
||||
@@ -0,0 +1 @@
|
||||
DROP TABLE activity;
|
||||
@@ -0,0 +1,14 @@
|
||||
-- memo_share stores per-memo share grants (one row per share link).
|
||||
-- uid is the opaque bearer token included in the share URL.
|
||||
-- ON DELETE CASCADE ensures grants are cleaned up when the parent memo is deleted.
|
||||
CREATE TABLE memo_share (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
uid TEXT NOT NULL UNIQUE,
|
||||
memo_id INTEGER NOT NULL,
|
||||
creator_id INTEGER NOT NULL,
|
||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
||||
expires_ts BIGINT DEFAULT NULL,
|
||||
FOREIGN KEY (memo_id) REFERENCES memo(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX idx_memo_share_memo_id ON memo_share(memo_id);
|
||||
Reference in New Issue
Block a user