Configuration
Connect SQLite provides several configuration options to customize its behavior.
Options
| Option | Default | Description |
|---|---|---|
url | - | SQLite URL (sqlite:./path/to/db.sqlite or sqlite::memory:) |
db | :memory: | Database file path (alternative to url) |
client | - | Existing better-sqlite3 Database instance |
table | 'sessions' | Table name for sessions |
prefix | 'sess:' | Key prefix for session IDs |
ttl | 86400 | Default TTL in seconds (1 day) |
disableTTL | false | Disable TTL expiration |
disableTouch | false | Disable touch updates |
serializer | JSON | Custom serializer with parse/stringify |
wal | true | Enable WAL mode for better concurrency |
Example Configurations
Production Setup
javascript
// config/session.js
module.exports.session = {
secret: process.env.SESSION_SECRET,
adapter: '@sailscastshq/connect-sqlite',
url: 'sqlite:./db/sessions.db',
// Custom TTL (7 days)
ttl: 7 * 24 * 60 * 60,
cookie: {
secure: true,
maxAge: 7 * 24 * 60 * 60 * 1000
}
}Development Setup
javascript
// config/env/development.js
module.exports.session = {
adapter: '@sailscastshq/connect-sqlite',
url: 'sqlite::memory:', // In-memory for fast development
cookie: {
secure: false
}
}Custom Table Name
javascript
module.exports.session = {
adapter: '@sailscastshq/connect-sqlite',
url: 'sqlite:./db/sessions.db',
table: 'user_sessions', // Custom table name
prefix: 'myapp:' // Custom prefix
}WAL Mode
WAL (Write-Ahead Logging) mode is enabled by default for file-based databases. This provides better concurrent read/write performance.
To disable WAL mode:
javascript
module.exports.session = {
adapter: '@sailscastshq/connect-sqlite',
url: 'sqlite:./db/sessions.db',
wal: false
}TIP
WAL mode is automatically disabled for in-memory databases (:memory:).
Session Cleanup
Expired sessions are automatically pruned:
- On startup - Cleans up any expired sessions from previous runs
- Hourly - Runs a background cleanup job every hour
The cleanup job uses setInterval().unref() so it won't prevent your process from exiting.