@directus-labs/migration-bundle

中文文档
1.2.0发布于 2026/03/04MITES Module近 30 天下载 2336

从当前源 Directus 实例移到另一个目标 Directus 实例 .

中文使用文档
文档目录13 节
  1. 使用量
  2. 不可调和的Schema
  3. 迁移失败
  4. 所需资源
  5. 安装
  6. 配置
  7. 混合配置系统
  8. 1. 环境变量(默认)
  9. 2. Directus 预设(用户配置)
  10. 3. 配置优先事项
  11. 如何定制移徙
  12. 文件批量大小
  13. 权限

Directus 迁移模块

使用这个简单的模块,将当前 Directus 实例轻松地移到另一个位置.

Migration Module Banner

使用量

一旦安装, 您可以启用工程设置中的导航菜单项, 或者直接到模块页面 /admin/migration。 。 。 .

要启动, 请输入目的地 URL 和 管理令牌到提供的字段, 然后单击 检查。这将比较两个Directus平台,看看它们是否兼容.

请确保目标实例与源实例在同一版本和同一数据库平台上.

如果有效,可以立即启动"干跑"迁移,或者根据需要定制迁移.

取消检查 Dry Run 复选框并点击启动来运行迁移 。 进程在背景中运行, 这样您就可以关闭您的浏览器, 当迁移完成后它会通知您 。 通常,中小型项目只需一至二分钟。 大型文件库的项目需要更长的时间.

Migration Live Updates

不可调和的Schema

目的地实例必须与源实例相同并具有相同的数据库平台. 使用 强制 当此错误发生时出现的复选框.

不建议这样做,很可能需要进一步干预.

迁移失败

如果移民失败了,别担心,只要再管理移民. 现有内容被跳过,所以它会继续下去.

所需资源

  • 2x Directus 例在至少11.1.2+上使用同一数据库平台.
  • 管理用户和来自目的地的管理令牌.

对于较大的项目,迁移自然会使用显著的带宽. API的电话被限制,以确保目的地不会不堪重负.

安装

关于从市场安装或人工安装扩展的详情,请参考《官方指南》.

配置

混合配置系统

迁移模块采用将环境变量和Directus预设相结合的两级配置系统,以达到最大灵活性.

1. 环境变量(默认)

管理员可以通过环境变量设置适用于所有用户的默认值:

# Default destination URL
MIGRATION_BUNDLE_DEFAULT_URL=https://stage.example.com

# Default admin token (optional - can be left empty for security)
MIGRATION_BUNDLE_DEFAULT_TOKEN=your-admin-token

# Default selected options (comma-separated)
MIGRATION_BUNDLE_DEFAULT_OPTIONS=content,users,flows

现有备选方案 MIGRATION_BUNDLE_DEFAULT_OPTIONS数字 :

  • content - 收集及其数据
  • users - 用户、角色和权限
  • comments - 活动评论
  • presets - 用户书签
  • dashboards - 透视仪表板
  • extensions - 安装的扩展
  • flows - 自动化流动

2. Directus 预设(用户配置)

用户可以将其迁移配置保存为Directus预设,这些预设被存储在数据库中,可以在会话和设备中访问.

特征 :

  • 命名的配置: 保存"Production Sync","Content Only","Full migration"等多个配置
  • 范围控制: 为您自己、 您的角色或全球范围保存预设( 只有管理员)
  • 快速访问: 从下放菜单上装入已保存的配置
  • 覆盖默认: 用户预设优先于环境默认

如何使用 :

  1. 配置您的迁移设置( URL, 令牌, 选项)
  2. 单击书签图标 (QQ) 保存为预设
  3. 选择名称和范围(个人/作用/全球)
  4. 从窗体上方的下拉中装入已保存的预设

3. 配置优先事项

该系统遵循这一优先顺序:

  1. 用户选择的预设 (最高优先级)
  2. 环境默认 (如果没有选择预设)
  3. 空窗体 (如果没有配置)

这种办法规定:

  • 管理员: 不同环境的特定环境默认值
  • 用户: 个人已保存配置
  • 为团队: 通过基于角色的预设共享配置
  • 最佳做法: 灵活一致的设置

如何定制移徙

  1. 在迁移模块上,添加目的地服务器和令牌并单击 检查
  2. 如果有效, 将会出现“ 迁移” 选项字段 。 单击此以显示迁移的内容
  3. 取消选中任何章节以排除迁移
  4. 开始迁移

文件批量大小

当 内容 选择范围,a 批量大小 控制出现。 这控制了在新批开始前将多少文件读入内存并上传.

数值行为
页:1内存使用率最低——最适合受限环境
10个 (默认)适用于大多数项目
15个中等速度提高
20国在高波段连接上更快
第25条最大吞吐量——更高的内存使用量

何时调整 :

  • 降低批量大小 如果迁移的内存耗尽,或者源/目的地服务器负重.
  • 提高批量大小 如果您有快速连接并想要加快大型文件库.

Customise the module

权限

这一扩展要求两个实例的管理员保证所有数据都可获得和可写.

版本与发布记录

@directus-labs/migration-bundle 共发布 5 个版本,首次发布于 2025/03/06;过去 12 个月发布了 1 个版本。

版本发布日期距今
1.2.0latest2026/03/048 个月前
1.1.12025/10/131.1 年前
1.1.02025/10/101.1 年前
1.0.12025/04/251.6 年前
1.0.02025/03/061.7 年前

关于 @directus-labs/migration-bundle 的常见问题

@directus-labs/migration-bundle 是什么?

从当前源 Directus 实例移到另一个目标 Directus 实例 .

如何安装 @directus-labs/migration-bundle?

在项目目录运行 npm install @directus-labs/migration-bundle,或使用 pnpm add / yarn add / bun add。

@directus-labs/migration-bundle 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/directus-labs__migration-bundle 是否存在。

@directus-labs/migration-bundle 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@directus-labs/migration-bundle 可以商用吗?

@directus-labs/migration-bundle 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@directus-labs/migration-bundle 的下载量有多少?

根据 npm 官方下载统计,@directus-labs/migration-bundle 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,336 次,日均约 78 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@directus-labs/migration-bundle 还在维护吗?

最新版本 1.2.0 发布于 2026/03/04(8 个月前);至今共发布 5 个版本,其中过去 12 个月发布了 1 个;首次发布于 2025/03/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。