@amplication/plugin-db-mongo
Use a Mongo DB database in the service generated by Amplication.
Purpose
This plugin adds the required code to use Mongo database in the service generated by Amplication. It updates the following parts:
- Updates the datasource on the
schema.prisma
file:- For versions older than
1.3.3
the datesource name is based on the database type- MongoDB - the datasource name is
mongo
- MongoDB - the datasource name is
- From version
1.3.3
the datasource name isdb
, no matter what is the database type
- For versions older than
- From version
1.3.3
as the datasouce name isdb
, all the custom attributes that use the@{datasource.name}.{nameOfTheAttribute}
are replaced with@db.{nameOfTheAttribute}
- Adds the requires services and variables to
docker-compose.yml
- Add the
db
service to thedocker-compose.dev.yml
- Add the requires environment variables to
.env
- Update package json file in order to support only the relevant prisma mongo commands
- Change prisma schema fields according to the prisma mongo conventions
Configuration
The plugin uses the parameters configured on the database tab on the service settings page
Usage
This plugin integrates with the all default tasks and scripts used by the generated service:
"seed": "ts-node scripts/seed.ts",
"db:clean": "ts-node scripts/clean.ts",
"prisma:generate": "prisma generate",
"prisma:init": "prisma init",
"prisma:pull":"prisma db pull",
"prisma:push":" prisma db push",
"docker:db": "docker-compose -f docker-compose.db.yml up -d",
"docker:build": "docker build .",
"compose:up": "docker-compose up -d",
"compose:down": "docker-compose down --volumes"