Add multi-database support allowing selection between SQL Server and PostgreSQL via database.active config. Changes include dialect-aware SQL generation, cross-database timestamp functions, PostgreSQL connection URL builder, and psycopg dependency. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
46 lines
1.0 KiB
Markdown
46 lines
1.0 KiB
Markdown
# CargoTrace FastAPI Backend
|
|
|
|
FastAPI backend service for the CargoTrace platform.
|
|
|
|
## Getting Started
|
|
|
|
```bash
|
|
python -m venv .venv
|
|
source .venv/bin/activate # Linux/Mac
|
|
# or .venv\Scripts\activate # Windows
|
|
pip install -r requirements.txt
|
|
uvicorn app.main:app --reload
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Configuration is managed via YAML files in the `config/` directory.
|
|
|
|
### Configuration File
|
|
|
|
Edit `config/settings.yaml` to configure your environment:
|
|
|
|
```yaml
|
|
database:
|
|
active: sql_server # sql_server or postgresql
|
|
sql_server:
|
|
host: your-host
|
|
port: 1433
|
|
database: your-database
|
|
username: your-username
|
|
password: your-password
|
|
postgresql:
|
|
host: your-postgres-host
|
|
port: 5432
|
|
database: your-database
|
|
username: your-username
|
|
password: your-password
|
|
```
|
|
|
|
Set `database.active` to choose the database backend. Both backends expect the
|
|
same database name, schemas, and table structure.
|
|
|
|
### Local Overrides
|
|
|
|
For local development, create `config/settings.local.yaml` to override specific values without committing them.
|