Important
This package will become useless once Expo SDK 50 is released.
The new SDK introduces changes to their official expo-sqlite
and they upgraded to a more recent SQLite version that will support JSON function such as json_extract
.
Implements the original expo-sqlite with an updated version of android.database.sqlite from requery.sqlite-android which adds support for:
- JSON1 extension
- Common Table expressions
- Indexes on expressions
- Full Text Search 5
- Generated Columns
- DROP COLUMN support
This cannot be used in Expo GO, see the related error section.
It's compatible with RxDB Premium SQLite storage:
import {
getRxStorageSQLite,
getSQLiteBasicsExpoSQLite,
} from "rxdb-premium/plugins/storage-sqlite";
import * as ExpoSqliteStorage from "expo-sqlite-storage";
import { createRxDatabase } from "rxdb";
const storage = getRxStorageSQLite({
sqliteBasics: getSQLiteBasicsExpoSQLite(ExpoSqliteStorage.openDatabase),
});
const db = await createRxDatabase({
name: storage.name,
storage,
multiInstance: false,
ignoreDuplicate: true,
});
iOS | Android |
---|---|
npm install expo-sqlite-storage
or
yarn add expo-sqlite-storage
build your native apps
npx expo run:android|ios
run only the app
npx expo start --dev-client
Will not work inside Expo GO until the Expo team updates their SQLite database to a more recent version.
For bare React Native projects, you must ensure that you have installed and configured the expo
package before continuing.
npm install expo-sqlite-storage
or
yarn add expo-sqlite-storage
React-Native above 0.60:
Run npx pod-install
after installing the npm package.