More gorm tweaks.
This commit is contained in:
parent
c68e8a68a0
commit
6ae7b44318
@ -6,7 +6,7 @@ import (
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
upgrades[0] = upgrade{"Initial schema", func(tx *gorm.DB, ctx context) error {
|
upgrades[0] = upgrade{"Initial schema", func(tx *gorm.DB, ctx context) error {
|
||||||
err := tx.Exec(`CREATE TABLE IF NOT EXISTS portal (
|
tx.Exec(`CREATE TABLE IF NOT EXISTS portal (
|
||||||
jid VARCHAR(255),
|
jid VARCHAR(255),
|
||||||
receiver VARCHAR(255),
|
receiver VARCHAR(255),
|
||||||
mxid VARCHAR(255) UNIQUE,
|
mxid VARCHAR(255) UNIQUE,
|
||||||
@ -19,11 +19,8 @@ func init() {
|
|||||||
|
|
||||||
PRIMARY KEY (jid, receiver)
|
PRIMARY KEY (jid, receiver)
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE IF NOT EXISTS puppet (
|
tx.Exec(`CREATE TABLE IF NOT EXISTS puppet (
|
||||||
jid VARCHAR(255) PRIMARY KEY,
|
jid VARCHAR(255) PRIMARY KEY,
|
||||||
avatar VARCHAR(255),
|
avatar VARCHAR(255),
|
||||||
displayname VARCHAR(255),
|
displayname VARCHAR(255),
|
||||||
@ -35,11 +32,8 @@ func init() {
|
|||||||
enable_presence BOOLEAN NOT NULL DEFAULT true,
|
enable_presence BOOLEAN NOT NULL DEFAULT true,
|
||||||
enable_receipts BOOLEAN NOT NULL DEFAULT true
|
enable_receipts BOOLEAN NOT NULL DEFAULT true
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE IF NOT EXISTS "user" (
|
tx.Exec(`CREATE TABLE IF NOT EXISTS "user" (
|
||||||
mxid VARCHAR(255) PRIMARY KEY,
|
mxid VARCHAR(255) PRIMARY KEY,
|
||||||
jid VARCHAR(255) UNIQUE,
|
jid VARCHAR(255) UNIQUE,
|
||||||
|
|
||||||
@ -52,11 +46,8 @@ func init() {
|
|||||||
mac_key bytea,
|
mac_key bytea,
|
||||||
last_connection BIGINT NOT NULL DEFAULT 0
|
last_connection BIGINT NOT NULL DEFAULT 0
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE IF NOT EXISTS "user_portal" (
|
tx.Exec(`CREATE TABLE IF NOT EXISTS "user_portal" (
|
||||||
user_jid VARCHAR(255),
|
user_jid VARCHAR(255),
|
||||||
portal_jid VARCHAR(255),
|
portal_jid VARCHAR(255),
|
||||||
portal_receiver VARCHAR(255),
|
portal_receiver VARCHAR(255),
|
||||||
@ -67,11 +58,8 @@ func init() {
|
|||||||
FOREIGN KEY (user_jid) REFERENCES "user"(jid) ON DELETE CASCADE,
|
FOREIGN KEY (user_jid) REFERENCES "user"(jid) ON DELETE CASCADE,
|
||||||
FOREIGN KEY (portal_jid, portal_receiver) REFERENCES portal(jid, receiver) ON DELETE CASCADE
|
FOREIGN KEY (portal_jid, portal_receiver) REFERENCES portal(jid, receiver) ON DELETE CASCADE
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE IF NOT EXISTS message (
|
tx.Exec(`CREATE TABLE IF NOT EXISTS message (
|
||||||
chat_jid VARCHAR(255),
|
chat_jid VARCHAR(255),
|
||||||
chat_receiver VARCHAR(255),
|
chat_receiver VARCHAR(255),
|
||||||
jid VARCHAR(255),
|
jid VARCHAR(255),
|
||||||
@ -83,26 +71,17 @@ func init() {
|
|||||||
PRIMARY KEY (chat_jid, chat_receiver, jid),
|
PRIMARY KEY (chat_jid, chat_receiver, jid),
|
||||||
FOREIGN KEY (chat_jid, chat_receiver) REFERENCES portal(jid, receiver) ON DELETE CASCADE
|
FOREIGN KEY (chat_jid, chat_receiver) REFERENCES portal(jid, receiver) ON DELETE CASCADE
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE IF NOT EXISTS mx_registrations (
|
tx.Exec(`CREATE TABLE IF NOT EXISTS mx_registrations (
|
||||||
user_id VARCHAR(255) PRIMARY KEY
|
user_id VARCHAR(255) PRIMARY KEY
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE IF NOT EXISTS mx_room_state (
|
tx.Exec(`CREATE TABLE IF NOT EXISTS mx_room_state (
|
||||||
room_id VARCHAR(255) PRIMARY KEY,
|
room_id VARCHAR(255) PRIMARY KEY,
|
||||||
power_levels TEXT
|
power_levels TEXT
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE IF NOT EXISTS mx_user_profile (
|
tx.Exec(`CREATE TABLE IF NOT EXISTS mx_user_profile (
|
||||||
room_id VARCHAR(255),
|
room_id VARCHAR(255),
|
||||||
user_id VARCHAR(255),
|
user_id VARCHAR(255),
|
||||||
membership VARCHAR(15) NOT NULL,
|
membership VARCHAR(15) NOT NULL,
|
||||||
@ -110,22 +89,16 @@ func init() {
|
|||||||
displayname TEXT,
|
displayname TEXT,
|
||||||
avatar_url VARCHAR(255)
|
avatar_url VARCHAR(255)
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE IF NOT EXISTS crypto_olm_session (
|
tx.Exec(`CREATE TABLE IF NOT EXISTS crypto_olm_session (
|
||||||
session_id CHAR(43) PRIMARY KEY,
|
session_id CHAR(43) PRIMARY KEY,
|
||||||
sender_key CHAR(43) NOT NULL,
|
sender_key CHAR(43) NOT NULL,
|
||||||
session bytea NOT NULL,
|
session bytea NOT NULL,
|
||||||
created_at timestamp NOT NULL,
|
created_at timestamp NOT NULL,
|
||||||
last_used timestamp NOT NULL
|
last_used timestamp NOT NULL
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE crypto_megolm_inbound_session (
|
tx.Exec(`CREATE TABLE crypto_megolm_inbound_session (
|
||||||
session_id CHAR(43) PRIMARY KEY,
|
session_id CHAR(43) PRIMARY KEY,
|
||||||
sender_key CHAR(43) NOT NULL,
|
sender_key CHAR(43) NOT NULL,
|
||||||
signing_key CHAR(43) NOT NULL,
|
signing_key CHAR(43) NOT NULL,
|
||||||
@ -133,11 +106,8 @@ func init() {
|
|||||||
session bytea NOT NULL,
|
session bytea NOT NULL,
|
||||||
forwarding_chains bytea NOT NULL
|
forwarding_chains bytea NOT NULL
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE crypto_device (
|
tx.Exec(`CREATE TABLE crypto_device (
|
||||||
user_id VARCHAR(255),
|
user_id VARCHAR(255),
|
||||||
device_id VARCHAR(255),
|
device_id VARCHAR(255),
|
||||||
identity_key CHAR(43) NOT NULL,
|
identity_key CHAR(43) NOT NULL,
|
||||||
@ -149,14 +119,11 @@ func init() {
|
|||||||
PRIMARY KEY (user_id, device_id)
|
PRIMARY KEY (user_id, device_id)
|
||||||
)`)
|
)`)
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE crypto_tracked_user (
|
tx.Exec(`CREATE TABLE crypto_tracked_user (
|
||||||
user_id VARCHAR(255) PRIMARY KEY
|
user_id VARCHAR(255) PRIMARY KEY
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE crypto_message_index (
|
tx.Exec(`CREATE TABLE crypto_message_index (
|
||||||
sender_key CHAR(43),
|
sender_key CHAR(43),
|
||||||
session_id CHAR(43),
|
session_id CHAR(43),
|
||||||
"index" INTEGER,
|
"index" INTEGER,
|
||||||
@ -165,21 +132,15 @@ func init() {
|
|||||||
|
|
||||||
PRIMARY KEY (sender_key, session_id, "index")
|
PRIMARY KEY (sender_key, session_id, "index")
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE crypto_account (
|
tx.Exec(`CREATE TABLE crypto_account (
|
||||||
device_id VARCHAR(255) PRIMARY KEY,
|
device_id VARCHAR(255) PRIMARY KEY,
|
||||||
shared BOOLEAN NOT NULL,
|
shared BOOLEAN NOT NULL,
|
||||||
sync_token TEXT NOT NULL,
|
sync_token TEXT NOT NULL,
|
||||||
account bytea NOT NULL
|
account bytea NOT NULL
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Exec(`CREATE TABLE crypto_megolm_outbound_session (
|
tx.Exec(`CREATE TABLE crypto_megolm_outbound_session (
|
||||||
room_id VARCHAR(255) PRIMARY KEY,
|
room_id VARCHAR(255) PRIMARY KEY,
|
||||||
session_id CHAR(43) NOT NULL UNIQUE,
|
session_id CHAR(43) NOT NULL UNIQUE,
|
||||||
session bytea NOT NULL,
|
session bytea NOT NULL,
|
||||||
@ -190,9 +151,6 @@ func init() {
|
|||||||
created_at timestamp NOT NULL,
|
created_at timestamp NOT NULL,
|
||||||
last_used timestamp NOT NULL
|
last_used timestamp NOT NULL
|
||||||
)`)
|
)`)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}}
|
}}
|
||||||
|
Loading…
Reference in New Issue
Block a user