如何在docker中创建postgresql数据库并使用prisma进行连接

发布时间 2023-07-09 00:21:06作者: azoux

在docker中创建postgresql

# docker 创建 postgres
docker pull postgres

# 创建容器
	# ~/study/db/postgres 是本地的文件映射
	# 替换用户名、密码、本地文件映射即可
docker run -itd -e POSTGRES_USER=你的用户名 -e POSTGRES_PASSWORD=你的密码 -p 5432:5432 -v ~/study/db/postgres:/var/lib/postgresql/data --name postgresql postgres

# 查看容器是否创建成功
docker ps

# 进入容器
docker exec -it postgresql psql -U 你的用户名 -d postgres

# postgres 的 psql 工具相关命令
	# 查看所有数据库
	\l
	# 创建database
	CREATE DATABASE DB_1; # 注意需要带分号,否则不会执行
	# 连接数据库
	\c 数据库名称
	# 查看所有表的列表:
	\dt
	# 显示数据库的所有视图:
	\dv
	# 显示数据库的所有函数:
	\df
	# 显示数据库的所有索引:
	\di

如何在 prisma中进行连接

要在 Prisma 中连接到 PostgreSQL 数据库,可以按照以下步骤进行操作:

  1. 首先,确保当前项目已经安装了 Prisma。我们可以通过运行以下命令来全局安装 Prisma CLI:
npm install -g prisma
npm i @prisma/client --save
  1. 确保你已经在项目中初始化了 Prisma。您可以通过运行以下命令来初始化 Prisma:
npx prisma init

这将在项目中创建一个名为 prisma 的文件夹,并在其中生成 Prisma 相关的文件和配置。
3. 在 prisma 文件夹下创建一个名为 schema.prisma 的文件。
4. 在 schema.prisma 文件中,定义数据库连接。例如,假设我们要连接在本地运行的 PostgreSQL,可以使用以下示例配置:
datasource db {
provider = "postgresql"
url = "postgresql://username:password@localhost:5432/yourdatabase"
}

将 username、password 和 yourdatabase 替换为你的 PostgreSQL 连接详细信息。请注意,host 和 port 可能与您的实际设置不同。
按照我们上面docker中的例子,我们的host就是localhost,端口就是5432
5. 保存 schema.prisma 文件。
6. 运行以下命令来生成 Prisma 客户端:

# 执行这个命令之前需要先定义你的Schema
npx prisma migrate dev --name init

这将根据你的 schema.prisma 文件生成 Prisma 客户端代码。