此功能在 免费和专业计划 中均可用,从
@nuxthub/core >= v0.8.0
开始。我们很高兴在 NuxtHub 中推出自动 数据库迁移。
自动迁移应用
在 server/database/migrations/*.sql
中的 SQL 迁移会在以下情况自动应用:
- 启动开发服务器 (
npx nuxt dev
或npx nuxt dev --remote
) - 本地预览构建 (
npx nuxthub preview
) - 通过
npx nuxthub deploy
或 Cloudflare Pages CI 部署
从现在开始,当你克隆任何带有数据库的 模板 时,所有迁移都会自动应用!
新的 CLI 命令
[email protected]
引入了以下数据库迁移命令
终端
# Create a new migration
npx nuxthub database migrations create <name>
# View migration status
npx nuxthub database migrations list
# Mark all migrations as applied
npx nuxthub database migrations mark-all-applied
详细了解
从现有 ORM 迁移
当前 Drizzle ORM 用户:请按照以下特定迁移步骤进行操作。
由于 NuxtHub 无法识别以前应用的 Drizzle ORM 迁移(存储在 __drizzle_migrations
中),它将尝试重新运行 server/database/migrations/*.sql
中的所有迁移。为了防止这种情况
- 将现有迁移标记为已应用到每个环境终端
# Local environment npx nuxthub database migrations mark-all-applied # Preview environment npx nuxthub database migrations mark-all-applied --preview # Production environment npx nuxthub database migrations mark-all-applied --production
- 删除
server/plugins/database.ts
,因为它不再需要。
就是这样!你可以继续使用 npx drizzle-kit generate
在更新 Drizzle ORM 架构时生成迁移。
了解数据库迁移
数据库迁移为你的数据库架构提供版本控制。它们跟踪更改并确保通过增量更新在所有环境中一致的架构演变。
在 nuxt-hub/core#333 和 nuxt-hub/cli#31 中实现。