prisma项目连接mysql带文件目录代码内容 增删改查示例
时间: 2024-04-29 09:21:02 浏览: 218
以下是一个使用Prisma连接MySQL数据库并进行文件管理的示例代码:
1. 安装Prisma CLI和MySQL驱动程序
```
npm install -g prisma
npm install mysql
```
2. 初始化Prisma项目
```
prisma init myapp
```
3. 配置数据库连接信息
编辑myapp/prisma/schema.prisma文件,添加以下内容:
```
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
model File {
id Int @id @default(autoincrement())
filename String @unique
filepath String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
```
4. 配置数据库连接信息
创建myapp/.env文件,添加以下内容:
```
DATABASE_URL="mysql://username:password@localhost:3306/mydatabase"
```
将上述命令中的username、password和mydatabase替换为您的MySQL连接信息。
5. 生成Prisma Client
```
prisma generate
```
6. 编写增删改查代码
在myapp目录下创建一个名为index.js的文件,添加以下内容:
```
const { PrismaClient } = require('@prisma/client')
const fs = require('fs')
const prisma = new PrismaClient()
async function addFile(filename, filepath) {
const file = await prisma.file.create({
data: {
filename: filename,
filepath: filepath
}
})
console.log('Added file:', file)
}
async function getFile(id) {
const file = await prisma.file.findUnique({
where: {
id: id
}
})
console.log('Found file:', file)
}
async function updateFile(id, filename, filepath) {
const file = await prisma.file.update({
where: {
id: id
},
data: {
filename: filename,
filepath: filepath
}
})
console.log('Updated file:', file)
}
async function deleteFile(id) {
const file = await prisma.file.delete({
where: {
id: id
}
})
console.log('Deleted file:', file)
}
async function listFiles() {
const files = await prisma.file.findMany()
console.log('List of files:')
for (let file of files) {
console.log(file.filename)
}
}
// Test code
async function test() {
await addFile('test.txt', '/path/to/test.txt')
await getFile(1)
await updateFile(1, 'test2.txt', '/path/to/test2.txt')
await deleteFile(1)
await listFiles()
}
test().catch((e) => console.error(e))
```
在上述代码中,addFile函数用于添加一个文件记录,getFile函数用于根据ID查找文件记录,updateFile函数用于更新文件记录,deleteFile函数用于删除文件记录,listFiles函数用于列出所有文件记录。test函数为测试代码,调用各个函数进行测试。
7. 运行代码
```
node index.js
```
运行代码后,将会依次执行各个函数,并输出相应的结果。
阅读全文