The database models for PlaceOS in crystal.
PlaceOS is a distributed application, with many concurrent event sources that require persistence. We use RethinkDB to unify our database and event bus, giving us a consistent interface to state and events across the system.
Key | Description | Default |
---|---|---|
PLACE_MAX_VERSIONS |
Number of versions to keep of versioned models | 20 |
PG_HOST |
Postgresql host | "localhost" |
PG_PORT |
Postgresql port | 5432 |
PG_DB |
Database name or PG_DATABASE |
"test" |
PG_USER |
Database user | "postgres" |
PG_PASSWORD |
Database password | "" |
PG_QUERY |
Query string, that can be used to configure pooling | "" |
PG_LOCK_TIMEOUT |
Timeout on retrying Advisory lock in seconds | 5 |
PG_DATABASE_URL |
Or provide a Database DSN |
# prune docker images if you have new migrations that need to run
# since the last time migrations image was built
docker system prune --all
# builds migrations and runs tests in a containerised env
./test
See CONTRIBUTING.md
.