prisma尝鲜-从前端到后端如此简单!内含基础后端框架使用demo!

3,886 阅读2分钟

什么是prisma?

Prisma是一个数据库抽象层,可以将数据库转换为带有CRUD操作和实时功能的GraphQL API。它是数据库和GraphQL服务器之间的粘合剂。

prisma的优点

  1. 简化和类型安全的数据库访问
  2. 声明性迁移和数据建模
  3. 强大的可视化数据管理

如何使用?

  1. 安装prisma cli,以mac为例: brew install prisma
  2. 安装docker www.docker.com/products/co…
  3. mkdir prisma-try;cd prisma-try
  4. 新建docker Compose文件 touch docker-compose.yml or 新建 docker-compose.yml文件 支持三种数据库初始化类型: mysql、postgresql、mogondb,这里以mogon为例
  5. 在新建的docker compose文件docker-compose.yml中写入mongodb init配置:
version: '3'
services:
  prisma:
    image: prismagraphql/prisma:1.34
    restart: always
    ports:
      - '4466:4466'
    environment:
      PRISMA_CONFIG: |
        port: 4466
        databases:
          default:
            connector: mongo
            uri: mongodb://prisma:prisma@mongo
  mongo:
    image: mongo:3.6
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: prisma
      MONGO_INITDB_ROOT_PASSWORD: prisma
    ports:
      - '27017:27017'
    volumes:
      - mongo:/var/lib/mongo
volumes:
  mongo: ~
  1. docker-compose up -d 连接4466端口(数据库地址)

  1. prisma init --endpoint http://localhost:4466 初始化你的prisma项目,绑定mongo

  2. 输入prisma deploy 部署prisma api

  3. 构建client与数据库与prisma api的联系,需先在prisma.yml文件添加客户端导出类型,如 js版本,则需将下述代码块添加并运行 prisma generate 会导出generated的文件夹

generate:
  - generator: javascript-client
    output: ./generated/prisma-client/

10.可以开始使用啦!!后端以microjs为例 - 安装microjs 相关依赖包 - yarn add micro micro-cors micro-dev microrouter; - 在package.json中添加scripts脚本 如下图:

- 编写基础的crud,以原始prisma init data-model为例

- yarn dev 启动服务
- 不妨测试一下基础的crud http://localhost:4466/_admin 是刚才primsa init 关联的线上可视化数据库,可前去查看数据结构.

- 如需要自定义data-model 则访问项目中datamodel.prisma文件 按格式添加或者修改即可; 如图新增Goods对象
- prisma-crud-api是根据上图的表明生成的,例如:c - prisma.createUser、prisma.createGoods 如需参考请翻阅prisma文档 www.prisma.io/

第一次写文,如有不通顺、不好理解还望多多包涵,这里提供上述代码的git地址 github.com/liuzhangren…