···134134 }
135135}
136136137137+pub(crate) fn reset_database(connection: &Connection) -> Result<(), AppError> {
138138+ connection.execute_batch(
139139+ "
140140+ DROP TRIGGER IF EXISTS posts_ai;
141141+ DROP TRIGGER IF EXISTS posts_ad;
142142+ DROP TRIGGER IF EXISTS posts_au;
143143+144144+ DROP TABLE IF EXISTS posts_vec;
145145+ DROP TABLE IF EXISTS posts_fts;
146146+ DROP TABLE IF EXISTS posts;
147147+ DROP TABLE IF EXISTS sync_state;
148148+ DROP TABLE IF EXISTS oauth_sessions;
149149+ DROP TABLE IF EXISTS oauth_auth_requests;
150150+ DROP TABLE IF EXISTS accounts;
151151+ DROP TABLE IF EXISTS app_settings;
152152+ DROP TABLE IF EXISTS schema_migrations;
153153+154154+ PRAGMA wal_checkpoint(TRUNCATE);
155155+ VACUUM;
156156+ ",
157157+ )?;
158158+159159+ run_migrations(connection)
160160+}
161161+137162#[cfg(test)]
138163mod tests {
139164 use rusqlite::{params, Connection};