Skip to main content
Turso is multi-tenant database platform built for all types of apps, including AI apps with on-device RAG, local-first vector search, offline writes, and privacy-focused data access with low latency. Here’s how to switch from Neon to Turso for your ShipThing project.

1. Sign up to Turso

You can use the Dashboard, or the CLI to manage your account, database, and auth tokens. We’ll be using the CLI throughout this guide.

2. Create a Database

Create a new database and give it a name using the Turso CLI:
Terminal
You can now fetch the URL to the database:
Terminal
It will look something like this:

3. Create a Database Auth Token

You will need to create an auth token to connect to your Turso database:
Terminal

4. Update your environment variables

Update your environment variables to use the new Turso connection string:
apps/database/.env
apps/app/.env.local
Etcetera. Now inside packages/env/index.ts, add DATABASE_AUTH_TOKEN to the server and runtimeEnv objects:

5. Install @libsql/client

The @libsql/client is used to connect to the hosted Turso database. Uninstall the existing dependencies for Neon…
Terminal
… and install the new dependencies for Turso & libSQL:
Terminal

6. Update Webpack configuration

Open packages/next-config/index.ts and add @libsql/client to the list of externals:
packages/next-config/index.ts

7. Update the database connection code

Open packages/database/index.ts and make the following changes:
packages/database/index.ts

8. Apply schema changes

Now connect to the Turso database using the CLI:
Terminal
And apply the schema to the database:

9. Update application code

Now wherever you would usually call Prisma, use the libsql client instead:
packages/app/app/(authenticated)/page.tsx