Codapult
DocsBlogPricingPluginsDemo
Get Codapult
Logo

Build your SaaS with AI. Keep the architecture under control.

Get Codapult

Product

  • Pricing
  • Architecture
  • Modules
  • AI platform
  • Plugins

Developers

  • MCP
  • CLI
  • Documentation
  • Launch your SaaS
  • Build a B2B SaaS

Resources

  • Blog
  • FAQ

Connect

  • Contact
  • GitHub

Compare

  • SaaS template comparison
  • Codapult vs Supastarter
  • Codapult vs Makerkit
  • Codapult vs ShipFast
  • Codapult vs SaaSBold
  • Codapult vs Gravity
  • Codapult vs Nextbase
  • Codapult vs BuilderKit

Featured on

Codapult on LaunchNestCodapult on LaunchNestbetterlaunch.cobetterlaunch.coFeatured on LaunchBuffFeatured on LaunchBuffCodapult on PeerPushCodapult on PeerPushFeatured on LaunchItFeatured on LaunchIt
© 2026 Codapult·All rights reserved·Privacy Policy·Terms of Service
Full source code · One-time purchase · Self-host anywhere
All articles

Getting Started

  • Introduction
  • Quick Start
  • Your First 30 Minutes
  • Project Structure
  • License and Permitted Use
  • Starter Profiles and Recipes
  • Product Recipes

Configuration

  • Environment Variables
  • App Configuration
  • Which Modules Should I Enable?
  • Provider Matrix
  • Capability Coverage

Database

  • Database and Provider Guide
  • Database
  • Migrations

Authentication

  • Authentication
  • OAuth Providers
  • Two-Factor & Passwordless
  • Enterprise SSO (SAML)

Ai

  • AI Runtime Architecture and Evals
  • AI Features
  • Streaming Chat
  • RAG and Semantic Search
  • Quotas and Memory

Teams

  • Teams & Organizations
  • Permissions & RBAC
  • SCIM Provisioning

Security

  • Data Retention Policy
  • Security

Deployment

  • Enterprise E2E Evidence
  • Enterprise Production Readiness
  • Deployment, Backup, and Restore Runbook
  • Deployment
  • Troubleshooting

Payments

  • Payments & Billing
  • Stripe Setup
  • LemonSqueezy Setup
  • Polar Setup
  • Payment Webhooks

Api

  • API Layer
  • tRPC
  • GraphQL

Email

  • Email
  • Email Templates

Infrastructure

  • Infrastructure
  • Self-Hosting
  • File Storage
  • Docker
  • Background Jobs
  • Terraform & Pulumi
  • Kubernetes

Ui

  • UI & Theming

I18n

  • Internationalization

Content Management

  • Content Management

Admin

  • Admin Panel

Monitoring

  • Analytics & Monitoring

Modules

  • Module Architecture
  • Waitlist
  • Audit Log
  • White-Labeling
  • Workflow Automation
  • A/B Testing
  • Welcome Page
  • Referrals
  • GDPR Export and Deletion
  • Promotions
  • Outgoing Webhooks

Plugins

  • Plugin System
  • CRM Plugin
  • Helpdesk Plugin
  • Email Marketing Plugin

Upgrading

  • Upgrading Codapult

Developer Tools

  • AI Agents & IDEs
  • MCP Server
  • Testing
  • Build Your First Feature with Codapult MCP
  • How Guard Blocks an Architectural Regression
Database

Database and Provider Guide

Choose the database path that fits your Codapult workload, local workflow, and production deployment model.

Codapult supports Turso/libSQL and PostgreSQL through parallel Drizzle schemas. The shared application interface keeps the product layer consistent while each provider offers a distinct deployment path.

Turso/libSQL

  • The default provider and the fastest path for local development.
  • A local file:local.db URL works without an external database service.
  • Cloud deployments require TURSO_DATABASE_URL and, for cloud databases, TURSO_AUTH_TOKEN.
  • SQLite/libSQL syntax, locking, connection behavior, and provider limits still apply.
  • The default rate limiter and in-memory jobs are process-local; they do not become distributed because the database is remote.

PostgreSQL

  • Use DB_PROVIDER=postgres and a DATABASE_URL connection string.
  • The PostgreSQL schema mirrors the SQLite schema but uses native PostgreSQL timestamps, booleans, JSON, indexes, and constraints where appropriate.
  • Run schema and migration commands with the same provider selected in the environment. Do not apply SQLite SQL to PostgreSQL or the reverse.
  • PostgreSQL production deployments need a connection plan, SSL configuration, backup policy, and migration owner.

Deployment alignment

  • Keep src/lib/db/schema.ts and src/lib/db/schema-pg.ts semantically aligned. Run npx @codapult/cli db schema-diff after schema changes.
  • Organization-owned queries must carry organization scope; provider parity does not prevent an application-level tenant isolation bug.
  • pnpm db:push is convenient for a fresh development database. For an established production database, review generated SQL and use the deployment migration workflow.
  • A generated migration is not a backup or rollback plan. Test the forward change and record the recovery or forward-fix procedure.
  • Database choice does not configure object storage, Redis, payment webhooks, SSO, or AI provider credentials. Configure and verify those adapters separately.

Choose your deployment path

Use local SQLite to start quickly, Turso when you want the same libSQL model with managed access, and PostgreSQL when your team or hosting platform requires PostgreSQL capabilities and operational tooling. Make the choice based on the workload and deployment model, not on a claim that one provider is universally better.

Capability CoverageDatabase