Connect your existing PostgreSQL database or let SolidX set one up. Each model can target its own datasource - mix databases freely, even within a single module. All powered by TypeORM and environment-driven configuration.
npx @solidxai/solidctl@latest create-appSolidX accesses all database connection parameters - host, port, credentials, and SSL settings - exclusively through environment variables, wired into the NestJS ConfigModule. No credentials in source code. No per-developer config drift. No secrets in your git history.
NestJS ConfigModule - database settings are injected via ConfigService, not imported as static values, so every environment (dev, staging, prod) is independently configurable.
SSL-ready by default - enable encrypted connections to your PostgreSQL instance with a single DB_SSL=true flag. No code changes required.
Connection pooling controls - configure min/max pool size, idle timeout, and connection retries through environment variables to tune performance for your workload.
SolidX uses TypeORM as the ORM layer between your application logic and the database. TypeORM's driver model means that swapping the underlying database engine - from PostgreSQL to MySQL, for example - requires only a configuration change, not a codebase rewrite.
Decorator-based entities - every SolidX model definition generates a @Entity()-decorated TypeORM class, making schema changes transparent and traceable.
Migration-safe - synchronize: false in production ensures schema changes only happen through versioned migrations, never automatically.
Repository pattern - all data access uses TypeORM repositories injected via NestJS DI, meaning your business logic never calls raw SQL directly.
By default, a single PostgreSQL database stores both SolidX's system metadata - module definitions, model schemas, field configurations, role structures - and your application data. But you're not limited to one database. Point SolidX at your existing databases, or configure additional datasources - each model can target a different database, even within the same module.
Bring your own database (coming soon) - connect SolidX to your existing PostgreSQL (or MSSQL) instance. No need to start from scratch - just point the environment variables at your current database and SolidX works with your data.
Per-model datasource - each model has its own dataSource property. Models within the same module can read and write to completely different databases. Mix PostgreSQL and MSSQL in a single application.
Metadata + app data co-located - SolidX stores module, model, and field definitions in system tables alongside your application data. A single pg_dump captures your entire application state, including its configuration.
The full set of database abstraction capabilities SolidX provides out of the box, today.
Full support from day one - JSONB columns, array types, and UUID primary keys work out of the box.
Each model defines its own dataSource and dataSourceType. Models in the same module can point to entirely different databases.
All data access goes through TypeORM - decorators, repositories, and query builders.
Point SolidX at your existing PostgreSQL or MSSQL instance. No greenfield requirement - work with your current data.
Database credentials are never stored in code. The NestJS ConfigModule injects all details at runtime.
Enable encrypted connections with DB_SSL=true. Compatible with AWS RDS, Supabase, Railway, and Neon.
PostgreSQL and MSSQL are fully supported today. SolidX's vendor-agnostic architecture and TypeORM abstraction layer mean adding new engines is a driver swap - not a rewrite. Each model can independently target any configured datasource.
Primary database. Full feature support including JSONB, UUID, arrays.
MSSQL support via TypeORM. Configure through environment variables.
Planned via TypeORM MySQL driver. Migration tooling included.
NoSQL support for document-oriented data models.
Add your PostgreSQL credentials to .env and SolidX is ready to run.
npx @solidxai/solidctl@latest create-appSource Available·Self-Hostable·No Vendor Lock-in·NestJS + TypeORM