123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- -- v1: Initial revision
- CREATE TABLE portal (
- channel_id TEXT,
- receiver TEXT,
- mxid TEXT UNIQUE,
- name TEXT NOT NULL,
- topic TEXT NOT NULL,
- avatar TEXT NOT NULL,
- avatar_url TEXT,
- encrypted BOOLEAN NOT NULL DEFAULT false,
- type INT,
- dmuser TEXT,
- first_event_id TEXT,
- PRIMARY KEY (channel_id, receiver)
- );
- CREATE TABLE puppet (
- id TEXT PRIMARY KEY,
- display_name TEXT,
- avatar TEXT,
- avatar_url TEXT,
- enable_presence BOOLEAN NOT NULL DEFAULT true,
- enable_receipts BOOLEAN NOT NULL DEFAULT true,
- custom_mxid TEXT,
- access_token TEXT,
- next_batch TEXT
- );
- CREATE TABLE "user" (
- mxid TEXT PRIMARY KEY,
- id TEXT UNIQUE,
- management_room TEXT,
- token TEXT
- );
- CREATE TABLE message (
- channel_id TEXT NOT NULL,
- receiver TEXT NOT NULL,
- discord_message_id TEXT NOT NULL,
- matrix_message_id TEXT NOT NULL UNIQUE,
- author_id TEXT NOT NULL,
- timestamp BIGINT NOT NULL,
- PRIMARY KEY(discord_message_id, channel_id, receiver),
- FOREIGN KEY(channel_id, receiver) REFERENCES portal(channel_id, receiver) ON DELETE CASCADE
- );
- CREATE TABLE reaction (
- channel_id TEXT NOT NULL,
- receiver TEXT NOT NULL,
- discord_message_id TEXT NOT NULL,
- matrix_event_id TEXT NOT NULL UNIQUE,
- author_id TEXT NOT NULL,
- matrix_name TEXT,
- matrix_url TEXT,
- discord_id TEXT,
- UNIQUE (discord_id, author_id, discord_message_id, channel_id, receiver),
- FOREIGN KEY(channel_id, receiver) REFERENCES portal(channel_id, receiver) ON DELETE CASCADE
- );
- CREATE TABLE attachment (
- channel_id TEXT NOT NULL,
- receiver TEXT NOT NULL,
- discord_message_id TEXT NOT NULL,
- discord_attachment_id TEXT NOT NULL,
- matrix_event_id TEXT NOT NULL UNIQUE,
- PRIMARY KEY(discord_attachment_id, matrix_event_id),
- FOREIGN KEY(channel_id, receiver) REFERENCES portal(channel_id, receiver) ON DELETE CASCADE
- );
- CREATE TABLE emoji (
- discord_id TEXT PRIMARY KEY,
- discord_name TEXT,
- matrix_url TEXT
- );
- CREATE TABLE guild (
- discord_id TEXT NOT NULL,
- guild_id TEXT NOT NULL,
- guild_name TEXT NOT NULL,
- bridge BOOLEAN DEFAULT FALSE,
- PRIMARY KEY(discord_id, guild_id)
- );
|