从Prisma 1升级到Prisma 2有问题,文档对我来说很复杂。我目前有一个小项目使用:
"dependencies": {
"bcryptjs": "2.4.3",
"graphql-yoga": "1.18.3",
"jsonwebtoken": "8.5.1",
"prisma-binding": "1.5.19"
},
"devDependencies": {
"dotenv": "5.0.1",
"graphql-cli": "2.17.0",
"nodemon": "1.19.4",
"npm-run-all": "4.1.5",
"prisma": "^1.34.10"
}我的prisma.yml:
endpoint: ${env:PRISMA_ENDPOINT}
secret: ${env:PRISMA_SECRET}
datamodel: datamodel.graphql
hooks:
post-deploy:
- prisma generate
generate:
- generator: graphql-schema
output: ../src/generated/prisma.graphql我使用了脚本:
"scripts": {
"start:dev": "nodemon -e js,graphql -x node -r dotenv/config src/index.js",
"start": "node src/index.js",
"debug": "nodemon -e js,graphql -x node --inspect -r dotenv/config src/index.js",
"playground": "graphql playground",
"dev": "npm-run-all --parallel start playground",
"deploy": "prisma1 deploy --env-file .env"
},和这个图
projects:
app:
schemaPath: "src/schema.graphql"
extensions:
endpoints:
default: "http://localhost:4000"
prisma:
schemaPath: "src/generated/prisma.graphql"
extensions:
prisma: database/prisma.yml我怎样才能更新prisma?知道我的前端是基于VueJS的,ApolloClient,graphlq,graphql-标记
非常感谢你,后端部分对我来说并不简单。
E D I T
谢谢你的分析。不错,@nburk
但是我在第三步遇到了一个问题:https://www.prisma.io/docs/guides/upgrade-guides/upgrade-from-prisma-1/upgrading-the-prisma-layer-postgres
(连接URL)
以前我不使用“船坞-写作”。我用Prisma在Heroku部署了我的前+后+ DB
const { Prisma } = require("prisma-binding");
const resolvers = require("./resolvers");
// GraphQL Yoga Server
const server = new GraphQLServer({
typeDefs: "src/schema.graphql",
resolvers,
context: (req) => ({
...req,
db: new Prisma({
typeDefs: "src/generated/prisma.graphql", // DB Prisma Schema
endpoint: process.env.PRISMA_ENDPOINT, // Prisma Service
secret: process.env.PRISMA_SECRET, // Prisma Secret
debug: true,
}),
}),
});
server.start(() =>
console.log(`Server is running on ${process.env.PRISMA_ENDPOINT}`)
);托管在Heroku上的DB (.env文件)
PRISMA_ENDPOINT="https://lprojet-name-db.herokuapp.com/database/prod"当我使用npx prisma自省时,我有这个错误
Introspecting based on datasource defined in prisma/schema.prisma …
Error: P1001无法到达‘localhosh’:‘5432’的数据库服务器
请确保您的数据库服务器在'localhost':'5432‘上运行--我认为问题来自于schema.prisma,它需要一个url,以postgresql://开头,但是对于Prisma1,我不需要再看它。
如何转换旧的DB (目前托管在Heroku上)?
谢谢
编辑2
我用过
DATABASE_URL=postgres://..........eu-west-1.compute.amazonaws.com:5432/d9ptc61fera9g1我有一个“数据库空”错误,但我的数据库不是空的。这个UR来自Heroku数据库Config
https://stackoverflow.com/questions/66998762
复制相似问题