0.29.1原版

This commit is contained in:
anian
2026-07-02 19:14:14 +08:00
commit d94008f0fb
947 changed files with 174905 additions and 0 deletions
@@ -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 = LPAD(TO_HEX(id), 8, '0') WHERE uid = '';
-- Create unique index on uid
CREATE UNIQUE INDEX IF NOT EXISTS idx_idp_uid ON idp (uid);
@@ -0,0 +1,13 @@
UPDATE inbox AS i
SET message = jsonb_set(
i.message::jsonb - 'activityId',
'{memoComment}',
jsonb_build_object(
'memoId',
a.payload->'memoComment'->'memoId',
'relatedMemoId',
a.payload->'memoComment'->'relatedMemoId'
)
)::text
FROM activity AS a
WHERE (i.message::jsonb->>'activityId')::integer = a.id;
@@ -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 SERIAL PRIMARY KEY,
uid TEXT NOT NULL UNIQUE,
memo_id INTEGER NOT NULL,
creator_id INTEGER NOT NULL,
created_ts BIGINT NOT NULL DEFAULT EXTRACT(EPOCH FROM 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);