Prisma(二)——Existing database
在Prisma(一)基础中设置prisma服务的时候选择的是连接了new database
,所以今天讲解Existing database
,也是困惑我许久的问题。
How Prisma works with an Existing database❓
回忆上节讲的How Prisma works with an Existing database。
Start
-
从
prisma init +项目名
开始注意:
在建用户名和密码的过程如下:这个过程坑了我好久????,希望可以帮到你们 ✌️
-
Select the schema you want to introspect
-
prisma init finish
-
datamodel.prisma
完成prisma init
的步骤后我们去datamodel.prisma
文件看看:type User { id: ID! @id name: String! }
为什么没有生成
prismaTest
中相应的datamodel
呢❓那我们是要手动完成吗❓如果是简单的数据结构还好说,如果是复杂的数据结构呢❓从头开始手动编写数据模型,同时确保它与现有数据的结构匹配可能很繁琐。所以呢,别急别急,慢慢来,咱们来执行下prisma introspect
看会发生什么呢? -
prisma introspect
prisma init
会生成整个服务配置,但是prisma introspect
仅会生成数据模型文件。这时候会生成一个类似
datamodel.prisma
的文件(例如:datamodel-1578144924860.prisma),运行时将datamodel
属性写入prisma.yml
,所以需要将文件重命名为datamodel.prisma
,因为这是你在prisma.yml
中指定的文件名。注意:
prisma introspect会分析你所选择数据库中所有内容,上面是introspect
简单的数据库中的schema
,接下来看一个比较复杂的(以eportal
数据库中的Machine
集合为例):-
datamodel.prisma
-
集合中的数据
从以上的例子可以看出
introspect
可以分析出数据库中的所有内容,数据格式及字段不正确时会有相应的提示。???????????? -
-
prisma deploy
执行此步骤时若报错,请删掉
docker-compose.yml
中的以下内容:
好啦,prisma连接已存在的数据库(Mongodb)就已完成啦!✌️✌️✌️
上一篇: Database Sharding
下一篇: [Database] Redis 随笔