自动数据库迁移

数据库迁移现在会在开发和部署期间自动应用。
此功能在 免费和专业计划 中均可用,从 @nuxthub/core >= v0.8.0 开始。

我们很高兴在 NuxtHub 中推出自动 数据库迁移

Automatic Database Migrations

自动迁移应用

server/database/migrations/*.sql 中的 SQL 迁移会在以下情况自动应用:

从现在开始,当你克隆任何带有数据库的 模板 时,所有迁移都会自动应用!

→ 部署 Todo App 模板

Database Migrations applied during deployment
详细了解数据库迁移,请查看我们的 完整文档

新的 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 中的所有迁移。为了防止这种情况

  1. 将现有迁移标记为已应用到每个环境
    终端
    # 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
    
  2. 删除 server/plugins/database.ts,因为它不再需要。

就是这样!你可以继续使用 npx drizzle-kit generate 在更新 Drizzle ORM 架构时生成迁移。

了解数据库迁移

数据库迁移为你的数据库架构提供版本控制。它们跟踪更改并确保通过增量更新在所有环境中一致的架构演变。

nuxt-hub/core#333nuxt-hub/cli#31 中实现。

从今天开始使用 NuxtHub