Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
SqliteBackup
✓ import * as SqliteBackup from 'sqlite-backup';
✗ const SqliteBackup = require('sqlite-backup');
The module is ESM-only; CommonJS require may not work in all bundlers.
backupDatabaseAsync
✓ import { backupDatabaseAsync } from 'sqlite-backup';
✗ import { backupDatabaseAsync } from 'expo-sqlite-backup';
Function exported directly from the package.
restoreDatabaseAsync
✓ import { restoreDatabaseAsync } from 'sqlite-backup';
✗ import { restoreDatabaseAsync } from 'expo-sqlite-backup';
Ensure correct package name; mistaking the package name is common.
SqliteBackupOptions
✓ import type { SqliteBackupOptions } from 'sqlite-backup';
✗ import { SqliteBackupOptions } from 'sqlite-backup';
This is a TypeScript type, not runtime value; use import type.
Shows basic backup and restore operations using sqlite-backup with expo-sqlite.
import * as SQLite from 'expo-sqlite';
import * as SqliteBackup from 'sqlite-backup';
async function backupDatabase() {
const dbName = 'myDatabase.db';
const backupName = 'myDatabase_backup.db';
try {
await SqliteBackup.backupDatabaseAsync(dbName, backupName);
console.log('Backup successful');
} catch (error) {
console.error('Backup failed:', error);
}
}
async function restoreDatabase() {
const dbName = 'myDatabase.db';
const backupName = 'myDatabase_backup.db';
try {
await SqliteBackup.restoreDatabaseAsync(dbName, backupName);
console.log('Restore successful');
} catch (error) {
console.error('Restore failed:', error);
}
}
// Usage
backupDatabase();
restoreDatabase();
Errors
Common errors & fixes
Cannot find module 'sqlite-backup' or its corresponding type declarations.
Missing npm install or unmet peer dependencies.
fixRun 'npm install sqlite-backup expo-sqlite' and ensure Expo SDK >= 51.
TypeError: (0 , _sqliteBackup.backupDatabaseAsync) is not a function
Importing from wrong package or incorrect export name.
fixUse 'import * as SqliteBackup from "sqlite-backup";' and call SqliteBackup.backupDatabaseAsync(...).
Error: backupDatabaseAsync is not available in managed workflow
Attempting to use backup on a platform that doesn't support native modules (e.g., web).
fixUse Platform.OS to conditionally call backup/restore only on iOS/Android.
SqliteBackup.backupDatabaseAsync is not a function (In 'SqliteBackup.backupDatabaseAsync(dbName, backupName)', 'SqliteBackup.backupDatabaseAsync' is undefined)
Importing the module incorrectly (e.g., default import instead of namespace).
fixUse 'import * as SqliteBackup from "sqlite-backup";' instead of default import.
Audit
Dependencies
exporequiredPeer dependency required for Expo module runtime.
reactrequiredPeer dependency for React Native.
react-nativerequiredPeer dependency for React Native.