If you are totally new to Databases, check out Prisma's Data Guide which covers the very large majority of everything you might want to know.
By default, Blitz uses Prisma 2 which is a strongly typed database client.
Prisma 2 is not required for Blitz. You can use anything you want, such as Mongo, TypeORM, etc.
db/schema.prisma and add your model(s) like as follows:model Project {
id Int @default(autoincrement()) @id
name String
tasks Task[]
}
model Task {
id Int @default(autoincrement()) @id
name String
project Project @relation(fields: [projectId], references: [id])
projectId Int
}If you need, reference the Prisma Schema documentation
blitz prisma migrate dev in your terminal to apply the
changesdb from db/index.ts and create a model like
this:db.project.create({data: {name: 'Hello'}})By default, a Blitz app is created with a local SQLite database. If you want to use PostgreSQL instead, you need to perform the following steps:
db/schema.prisma and change the db provider value from
"sqlite" to "postgres" as follows:datasource db {
provider = "postgres"
url = env("DATABASE_URL")
}.env.local, change DATABASE_URL. For convenience, there is a
commented-out PostgreSQL DATABASE_URL there already. Depending on
your setup, you may need to modify the URL..env.test.local as well to use PostgreSQL in your test runs.db/migrations folderblitz prisma migrate dev. This command will create the database
(if it does not already exist) and tables based on your schema.