kopia lustrzana https://github.com/cloudflare/wildebeest
166 wiersze
4.6 KiB
SQL
166 wiersze
4.6 KiB
SQL
-- Migration number: 0000 2022-12-05T20:27:34.391Z
|
|
|
|
CREATE TABLE IF NOT EXISTS actors (
|
|
id TEXT PRIMARY KEY,
|
|
type TEXT NOT NULL,
|
|
email TEXT,
|
|
privkey bytea,
|
|
privkey_salt bytea,
|
|
pubkey TEXT,
|
|
cdate timestamp NOT NULL DEFAULT (now()),
|
|
properties TEXT NOT NULL DEFAULT ('{}')
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS actors_email ON actors(email);
|
|
|
|
CREATE TABLE IF NOT EXISTS actor_following (
|
|
id TEXT PRIMARY KEY,
|
|
actor_id TEXT NOT NULL,
|
|
target_actor_id TEXT NOT NULL,
|
|
target_actor_acct TEXT NOT NULL,
|
|
state TEXT NOT NULL DEFAULT 'pending',
|
|
cdate timestamp NOT NULL DEFAULT (now())
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS actor_following_actor_id ON actor_following(actor_id);
|
|
CREATE INDEX IF NOT EXISTS actor_following_target_actor_id ON actor_following(target_actor_id);
|
|
|
|
CREATE TABLE IF NOT EXISTS objects (
|
|
id TEXT PRIMARY KEY,
|
|
mastodon_id TEXT UNIQUE NOT NULL,
|
|
type TEXT NOT NULL,
|
|
cdate timestamp NOT NULL DEFAULT (now()),
|
|
original_actor_id TEXT,
|
|
original_object_id TEXT UNIQUE,
|
|
reply_to_object_id TEXT,
|
|
properties TEXT NOT NULL DEFAULT ('{}'),
|
|
local INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS inbox_objects (
|
|
id TEXT PRIMARY KEY,
|
|
actor_id TEXT NOT NULL,
|
|
object_id TEXT NOT NULL,
|
|
cdate timestamp NOT NULL DEFAULT (now())
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS outbox_objects (
|
|
id TEXT PRIMARY KEY,
|
|
actor_id TEXT NOT NULL,
|
|
object_id TEXT NOT NULL,
|
|
cdate timestamp NOT NULL DEFAULT (now()),
|
|
published_date timestamp NOT NULL DEFAULT (now())
|
|
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS actor_notifications (
|
|
id SERIAL PRIMARY KEY,
|
|
type TEXT NOT NULL,
|
|
actor_id TEXT NOT NULL,
|
|
from_actor_id TEXT NOT NULL,
|
|
object_id TEXT,
|
|
cdate timestamp NOT NULL DEFAULT (now())
|
|
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS actor_notifications_actor_id ON actor_notifications(actor_id);
|
|
|
|
CREATE TABLE IF NOT EXISTS actor_favourites (
|
|
id TEXT PRIMARY KEY,
|
|
actor_id TEXT NOT NULL,
|
|
object_id TEXT NOT NULL,
|
|
cdate timestamp NOT NULL DEFAULT (now())
|
|
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS actor_favourites_actor_id ON actor_favourites(actor_id);
|
|
CREATE INDEX IF NOT EXISTS actor_favourites_object_id ON actor_favourites(object_id);
|
|
|
|
CREATE TABLE IF NOT EXISTS actor_reblogs (
|
|
id TEXT PRIMARY KEY,
|
|
actor_id TEXT NOT NULL,
|
|
object_id TEXT NOT NULL,
|
|
cdate timestamp NOT NULL DEFAULT (now())
|
|
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS actor_reblogs_actor_id ON actor_reblogs(actor_id);
|
|
CREATE INDEX IF NOT EXISTS actor_reblogs_object_id ON actor_reblogs(object_id);
|
|
|
|
CREATE TABLE IF NOT EXISTS clients (
|
|
id TEXT PRIMARY KEY,
|
|
secret TEXT NOT NULL,
|
|
name TEXT NOT NULL,
|
|
redirect_uris TEXT NOT NULL,
|
|
website TEXT,
|
|
scopes TEXT,
|
|
cdate timestamp NOT NULL DEFAULT (now())
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS actor_replies (
|
|
id TEXT PRIMARY KEY,
|
|
actor_id TEXT NOT NULL,
|
|
object_id TEXT NOT NULL,
|
|
in_reply_to_object_id TEXT NOT NULL,
|
|
cdate timestamp NOT NULL DEFAULT (now())
|
|
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS actor_replies_in_reply_to_object_id ON actor_replies(in_reply_to_object_id);
|
|
-- Migration number: 0001 2023-01-16T13:09:04.033Z
|
|
|
|
CREATE UNIQUE INDEX unique_actor_following ON actor_following (actor_id, target_actor_id);
|
|
-- Migration number: 0002 2023-01-16T13:46:54.975Z
|
|
|
|
ALTER TABLE outbox_objects
|
|
ADD target TEXT NOT NULL DEFAULT 'https://www.w3.org/ns/activitystreams#Public';
|
|
-- Migration number: 0003 2023-02-02T15:03:27.478Z
|
|
|
|
CREATE TABLE IF NOT EXISTS peers (
|
|
domain TEXT UNIQUE NOT NULL
|
|
);
|
|
-- Migration number: 0004 2023-02-03T17:17:19.099Z
|
|
|
|
CREATE INDEX IF NOT EXISTS outbox_objects_actor_id ON outbox_objects(actor_id);
|
|
CREATE INDEX IF NOT EXISTS outbox_objects_target ON outbox_objects(target);
|
|
-- Migration number: 0005 2023-02-07T10:57:21.848Z
|
|
|
|
CREATE TABLE IF NOT EXISTS idempotency_keys (
|
|
key TEXT PRIMARY KEY,
|
|
object_id TEXT NOT NULL,
|
|
expires_at timestamp NOT NULL
|
|
|
|
);
|
|
-- Migration number: 0006 2023-02-13T11:18:03.485Z
|
|
|
|
CREATE TABLE IF NOT EXISTS note_hashtags (
|
|
value TEXT NOT NULL,
|
|
object_id TEXT NOT NULL,
|
|
cdate timestamp NOT NULL DEFAULT (now())
|
|
|
|
);
|
|
-- Migration number: 0007 2023-02-15T11:01:46.585Z
|
|
|
|
CREATE TABLE subscriptions (
|
|
id SERIAL PRIMARY KEY,
|
|
actor_id TEXT NOT NULL,
|
|
client_id TEXT NOT NULL,
|
|
endpoint TEXT NOT NULL,
|
|
key_p256dh TEXT NOT NULL,
|
|
key_auth TEXT NOT NULL,
|
|
alert_mention INTEGER NOT NULL,
|
|
alert_status INTEGER NOT NULL,
|
|
alert_reblog INTEGER NOT NULL,
|
|
alert_follow INTEGER NOT NULL,
|
|
alert_follow_request INTEGER NOT NULL,
|
|
alert_favourite INTEGER NOT NULL,
|
|
alert_poll INTEGER NOT NULL,
|
|
alert_update INTEGER NOT NULL,
|
|
alert_admin_sign_up INTEGER NOT NULL,
|
|
alert_admin_report INTEGER NOT NULL,
|
|
policy TEXT NOT NULL,
|
|
cdate timestamp NOT NULL DEFAULT (now()),
|
|
|
|
UNIQUE(actor_id, client_id)
|
|
);
|