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 :