b8d0ad8fbc
* feat: update docs * feat: update docs * fix: update docs * Add files via upload * Add files via upload * Update the-first-app.md * Update the-first-app.md * Update v08-changelog.md * feat: update docs Co-authored-by: Zhou <zhou.working@gmail.com>
1.1 KiB
1.1 KiB
数据库迁移
插件在更新迭代过程中,可能会出现某些不兼容的改动,这些不兼容的升级脚本可以通过编写 migration 文件来处理。
如何添加迁移文件?
export class MyPlugin extends Plugin {
load() {
// 加载单个 Migration 文件
this.db.addMigration();
// 加载多个 Migration 文件
this.db.addMigrations();
}
}
API 参考:
什么时候执行?
# app 升级时,会执行 migrator.up() 和 db.sync()
yarn nocobase upgrade
# 单独触发 migration
yarn nocobase migrator up
什么时候需要写 migration 文件?
一般用于升级过程中,存于数据库的系统配置的更新。如果只是 collection 配置的变更,无需配置 migration,直接执行 yarn nocobase db:sync
就可以同步给数据库了。
Migration 文件
import { Migration } from '@nocobase/server';
export default class CustomMigration extends Migration {
async up() {
//
}
async down() {
//
}
}