mirror of
https://github.com/mikedilger/gossip.git
synced 2024-09-19 19:46:50 +00:00
Schema 12 - add some foreign keys
This commit is contained in:
parent
262a7d9065
commit
fde7bff420
@ -116,6 +116,7 @@ fn upgrade(db: &Connection, mut version: u16) -> Result<(), Error> {
|
||||
apply_sql!(db, version, 9, "schema9.sql");
|
||||
apply_sql!(db, version, 10, "schema10.sql");
|
||||
apply_sql!(db, version, 11, "schema11.sql");
|
||||
apply_sql!(db, version, 12, "schema12.sql");
|
||||
tracing::info!("Database is at version {}", version);
|
||||
Ok(())
|
||||
}
|
||||
|
24
src/db/schema12.sql
Normal file
24
src/db/schema12.sql
Normal file
@ -0,0 +1,24 @@
|
||||
|
||||
ALTER TABLE event_hashtag RENAME TO event_hashtag_old;
|
||||
CREATE TABLE event_hashtag (
|
||||
event TEXT NOT NULL,
|
||||
hashtag TEXT NOT NULL,
|
||||
UNIQUE(event, hashtag),
|
||||
CONSTRAINT fk_event FOREIGN KEY (event) REFERENCES event (id) ON DELETE CASCADE
|
||||
);
|
||||
INSERT OR IGNORE INTO event_hashtag (event, hashtag) SELECT event, hashtag FROM event_hashtag_old;
|
||||
DROP TABLE event_hashtag_old;
|
||||
|
||||
|
||||
ALTER TABLE event_relationship RENAME TO event_relationship_old;
|
||||
CREATE TABLE event_relationship (
|
||||
original TEXT NOT NULL,
|
||||
refers_to TEXT NOT NULL,
|
||||
relationship TEXT CHECK (relationship IN ('reply', 'quote', 'reaction', 'deletion')) NOT NULL,
|
||||
content TEXT DEFAULT NULL,
|
||||
CONSTRAINT fk_original FOREIGN KEY (original) REFERENCES event (id) ON DELETE CASCADE,
|
||||
UNIQUE(original, refers_to)
|
||||
);
|
||||
INSERT OR IGNORE INTO event_relationship (original, refers_to, relationship, content)
|
||||
SELECT original, referring, relationship, content FROM event_relationship_old;
|
||||
DROP TABLE event_relationship_old;
|
Loading…
Reference in New Issue
Block a user