Untitled

 avatar
unknown
plain_text
a month ago
3.5 kB
8
Indexable
Cách fix: Baseline database
Dev đó cần chạy 1 lần duy nhất lệnh baseline để đánh dấu tất cả migrations hiện tại là "đã chạy" mà không thực sự chạy lại:

Bước 1 — Resolve migration đầu tiên (đánh dấu đã apply):


pnpm exec prisma migrate resolve --applied "TÊN_MIGRATION_ĐẦU_TIÊN"
Tên migration lấy từ folder prisma/migrations/, ví dụ:


prisma/migrations/20240101000000_init/
→ tên = "20240101000000_init"
Bước 2 — Nếu có nhiều migrations, resolve từng cái một theo thứ tự, hoặc dùng lệnh tắt:


# Resolve TẤT CẢ migrations hiện có (chạy lần lượt từng tên)
pnpm exec prisma migrate resolve --applied "tên_migration_1"
pnpm exec prisma migrate resolve --applied "tên_migration_2"
# ...
Bước 3 — Sau khi baseline xong, chạy bình thường:


pnpm exec prisma migrate deploy
Cách lấy tên các migrations: Bảo dev đó chạy lệnh này để list:


ls prisma/migrations/
Hoặc bạn chạy lệnh này để list trên máy mình rồi gửi cho họ:

Bash List all migration names
IN
ls /Users/tikay/BanBan/prisma/migrations/

OUT
20260422040702_init_core_player_and_tank_schema
202604230001_email_auth_baseline
20260424000001_add_rank_points_to_progression
20260424000002_add_refresh_token_table
20260424000003_add_password_reset_token
20260424000004_add_friendship_and_notification
20260425025705_add_player_items
20260425031453_add_player_quests
20260426000100_drop_tank_base_mana
20260426000200_add_account_is_admin
20260501161604_add_pve_tables
20260503024831_phase24_tank_upgrade
20260505033245_phase26_daily_systems
20260505034544_phase27_achievements
20260505035913_phase28_clan_and_battlepass
20260505140000_phase29_gacha_egg_system
migration_lock.toml
Dev đó cần chạy 16 lệnh này theo thứ tự:


pnpm exec prisma migrate resolve --applied "20260422040702_init_core_player_and_tank_schema"
pnpm exec prisma migrate resolve --applied "202604230001_email_auth_baseline"
pnpm exec prisma migrate resolve --applied "20260424000001_add_rank_points_to_progression"
pnpm exec prisma migrate resolve --applied "20260424000002_add_refresh_token_table"
pnpm exec prisma migrate resolve --applied "20260424000003_add_password_reset_token"
pnpm exec prisma migrate resolve --applied "20260424000004_add_friendship_and_notification"
pnpm exec prisma migrate resolve --applied "20260425025705_add_player_items"
pnpm exec prisma migrate resolve --applied "20260425031453_add_player_quests"
pnpm exec prisma migrate resolve --applied "20260426000100_drop_tank_base_mana"
pnpm exec prisma migrate resolve --applied "20260426000200_add_account_is_admin"
pnpm exec prisma migrate resolve --applied "20260501161604_add_pve_tables"
pnpm exec prisma migrate resolve --applied "20260503024831_phase24_tank_upgrade"
pnpm exec prisma migrate resolve --applied "20260505033245_phase26_daily_systems"
pnpm exec prisma migrate resolve --applied "20260505034544_phase27_achievements"
pnpm exec prisma migrate resolve --applied "20260505035913_phase28_clan_and_battlepass"
pnpm exec prisma migrate resolve --applied "20260505140000_phase29_gacha_egg_system"
Sau đó pnpm exec prisma migrate deploy sẽ không báo lỗi P3005 nữa.

⚠️ Lưu ý: Lệnh resolve --applied không thay đổi schema, chỉ đánh dấu trong bảng _prisma_migrations. Nếu database thực tế thiếu một số bảng/cột so với schema thì vẫn có thể lỗi sau đó.
Editor is loading...
Leave a Comment