mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-14 05:52:19 +00:00
split store and store_sqlite implementatio into multiple crates
This commit is contained in:
34
crates/store_sqlite/migrations/2_addressbook.sql
Normal file
34
crates/store_sqlite/migrations/2_addressbook.sql
Normal file
@@ -0,0 +1,34 @@
|
||||
CREATE TABLE addressbooks (
|
||||
principal TEXT NOT NULL,
|
||||
id TEXT NOT NULL,
|
||||
synctoken INTEGER DEFAULT 0 NOT NULL,
|
||||
displayname TEXT,
|
||||
description TEXT,
|
||||
deleted_at DATETIME,
|
||||
PRIMARY KEY (principal, id)
|
||||
);
|
||||
|
||||
CREATE TABLE addressobjects (
|
||||
principal TEXT NOT NULL,
|
||||
addressbook_id TEXT NOT NULL,
|
||||
id TEXT NOT NULL,
|
||||
vcf TEXT NOT NULL,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted_at DATETIME,
|
||||
PRIMARY KEY (principal, addressbook_id, id),
|
||||
FOREIGN KEY (principal, addressbook_id)
|
||||
REFERENCES addressbooks (principal, id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE addressobjectchangelog (
|
||||
-- The actual sync token is the SQLite field 'ROWID'
|
||||
principal TEXT NOT NULL,
|
||||
addressbook_id TEXT NOT NULL,
|
||||
object_id TEXT NOT NULL,
|
||||
operation INTEGER NOT NULL,
|
||||
synctoken INTEGER DEFAULT 0 NOT NULL,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (principal, addressbook_id, created_at),
|
||||
FOREIGN KEY (principal, addressbook_id)
|
||||
REFERENCES addressbooks (principal, id) ON DELETE CASCADE
|
||||
);
|
||||
Reference in New Issue
Block a user