blob: 35e5be54a42a9c045a931ed5ba447db24e8436a2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
interimap_init
grep -Fx "database: Created mailbox INBOX" <"$STDERR" || error "INBOX missing from DB"
# empty table `mailboxes` and revert its schema to version 0
sqlite3 "$XDG_DATA_HOME/interimap/remote.db" <<-EOF
PRAGMA foreign_keys = OFF;
PRAGMA user_version = 0;
DROP TABLE mailboxes;
CREATE TABLE mailboxes (
idx INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
mailbox TEXT NOT NULL CHECK (mailbox != '') UNIQUE,
subscribed BOOLEAN NOT NULL
);
EOF
# now migration must fail due to broken referential integrity
! interimap || error
grep -Fx "Upgrading database version from 0" <"$STDERR" || error "DB upgrade not attempted"
grep -Fx "database: ERROR: Broken referential integrity! Refusing to commit changes." <"$STDERR" || error "DB upgrade successful despite broken refint"
# vim: set filetype=sh :
|