- github创建项目仓库
- 创建Vercel账号
- 选择hobby
- 连接github仓库
- install - deploy
- 创建postgres数据库(等待deploy完成)
- Continue to Dashboard
- Storage(头部nav哪里)
- create Postgres
- connect
- 连接完后,切换到
.env.local
(Quickstart那里)
- Copy Snippet
- 项目根目录新增
.env
文件,把复制的东西,粘贴进去
.gitignore
新增.env
,避免暴露数据库密钥
npm i @vercel/postgres
- 创建文件
- your project root/src/app/seed/route.ts
- your project root/src/lib/placeholder-data.ts
- 查看
route.ts
说明,安装依赖,打开sql语句的注释
- 访问
http://localhost:3000/seed
- 浏览器显示
{"message":"Database seeded successfully"}
,数据库数据写入成功
/seed/route.ts
import bcrypt from 'bcrypt';
import {
db } from '@vercel/postgres';
import {
invoices, customers, revenue, users } from "@/lib/placeholder-data"
const client = await db.connect();
async function seedUsers() {
await client.sql`CREATE EXTENSION IF NOT EXISTS "uuid-ossp"`;
await client.sql`
CREATE TABLE IF NOT EXISTS users (
id UUID DEFAULT uuid_generate_v4() PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email TEXT NOT NULL UNIQUE,
password TEXT NOT NULL
);
`;
const insertedUsers = await Promise.all(
users.map(async (user) => {
const hashedPassword = await bcrypt.hash(user.password, 10);
return client.sql`
INSERT INTO users (id, name, email, password)
VALUES (