从 Firebase Storage 迁移到 Supabase
将 Firebase Storage 文件迁移到 Supabase Storage。
Supabase 提供了几种工具,用于将存储文件从 Firebase Storage 转换为 Supabase Storage。转换过程分为两步
- 文件从 Firebase 存储桶下载到本地文件系统。
- 文件从本地文件系统上传到 Supabase 存储桶。
设置迁移工具 #
-
克隆
firebase-to-supabase仓库1git clone https://github.com/supabase-community/firebase-to-supabase.git -
在
/storage目录中,将 supabase-keys-sample.js 重命名为supabase-keys.js。 -
前往仪表盘中你的 Supabase 项目的API 设置。
-
复制 项目 URL 并更新
supabase-keys.js中的SUPABASE_URL值。 -
在 项目 API 密钥 下,复制 service_role 密钥并更新
supabase-keys.js中的SUPABASE_KEY值。
生成 Firebase 私钥 #
- 登录到您的 Firebase 控制台 并打开您的项目。
- 点击侧边栏中的 项目概览 旁边的齿轮图标,然后选择 项目设置。
- 点击 服务帐号,然后选择 Firebase Admin SDK。
- 点击 生成新的私钥。
- 将下载的文件重命名为
firebase-service.json。
命令行选项#
将 Firestore Storage 存储桶下载到本地文件系统文件夹 #
node download.js <prefix> [<folder>] [<batchSize>] [<limit>] [<token>]
<prefix>: 要下载的文件的前缀。要处理根桶,请使用空前缀:""。<folder>:(可选)下载文件的子文件夹名称。所选文件夹将作为当前文件夹的子文件夹创建(例如,./downloads/)。默认值为downloads。<batchSize>:(可选)默认值为 100。<limit>:(可选)处理完这么多文件后停止。如果无限制,请使用0。<token>:(可选)从此pageToken开始处理。
要使用多个命令行执行分批处理,您必须在后续调用中将相同参数与新的 <token> 一起使用。使用上次调用中显示的令牌在给定点继续该过程。
上传文件到 Supabase Storage 存储桶 #
node upload.js <prefix> <folder> <bucket>
<prefix>: 要下载的文件的前缀。要处理所有文件,请使用空前缀:""。<folder>: 要上传的文件的子文件夹名称。所选文件夹将作为当前文件夹的子文件夹读取(例如,./downloads/)。默认值为downloads。<bucket>: 要上传到的存储桶名称。
如果存储桶不存在,它将创建为 非公共 存储桶。您必须在 Supabase Dashboard 中为此新存储桶设置权限,然后用户才能下载任何文件。
资源#
迁移到 Supabase#
联系我们,如果您需要更多帮助来迁移您的项目。