MongoDB
Each environment gets its own MongoDB database with nothing to declare. Its connection string is inMONGODB_URI and MONGO_URL. Apps built on the Modelence framework use it without any setup.
PostgreSQL and Redis
Managed databases and caches are declared in theresources section of
modelence.config.json, and the app reads each one
through a variable tied to one of its outputs:
modelence.config.json
url output is a full connection string, postgresql://...?sslmode=require for PostgreSQL and
rediss://... (TLS) for Redis. The other outputs are its parts, for clients that read them
separately. The reference lists every plan and
output.
Managed resources need a paid plan.
Lifecycle
A deploy creates every managed resource the file declares that the environment doesn’t have yet, and the new version starts only once they are ready. Resources are matched by name, so the same file works in every environment:- A resource that already exists is kept as it is, with its data.
planis read only when the resource is created, so changing it later has no effect. - A resource removed from the file is not deleted, and it is billed until it is.
- Renaming a resource creates a new, empty one, and the old one stays until it is deleted.
Databases hosted elsewhere
An app can also use a database hosted somewhere else, such as Supabase, Neon or PlanetScale. Keep its connection code and declare its URL and keys inenv as secrets.