Skip to content

ストレージとマイグレーション

Note: ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。

ベクトルデータベースマイグレーション

Weaviateから他のベクトルデータベースへのマイグレーション

  1. 設定の更新

ソースコードデプロイ(.env):

VECTOR_STORE=qdrant

Docker Compose(docker-compose.yaml):

VECTOR_STORE: qdrant

  1. マイグレーションの実行
# ソースコード
flask vdb-migrate

# Docker
docker exec -it docker-api-1 flask vdb-migrate

テスト済みベクトルデータベース:Qdrant、Milvus、AnalyticDB

ストレージマイグレーション

ローカルストレージからクラウドストレージへの移行

ローカルストレージからクラウドプロバイダー(例:Alibaba Cloud OSS)へファイルをマイグレーション:

  1. クラウドストレージの設定

.envまたはdocker-compose.yaml

STORAGE_TYPE=aliyun-oss
# OSS認証情報を追加

  1. データのマイグレーション

ソースコード:

flask upload-private-key-file-to-cloud-storage
flask upload-local-files-to-cloud-storage

Docker:

docker exec -it docker-api-1 flask upload-private-key-file-to-cloud-storage
docker exec -it docker-api-1 flask upload-local-files-to-cloud-storage

データクリーンアップ

古いログの削除

  1. テナントIDの取得

    docker exec -it docker-api-1 bash -c "echo 'from models import Tenant; db.session.query(Tenant.id, Tenant.name).all(); quit()' | flask shell"
    

  2. X日以上古いログの削除

    docker exec -it docker-api-1 flask clear-free-plan-tenant-expired-logs \
      --days 30 \
      --batch 100 \
      --tenant_ids 618b5d66-a1f5-4b6b-8d12-f171182a1cb2
    

  3. エクスポートされたログの削除(オプション)

    docker exec -it docker-api-1 bash -c 'rm -rf ${OPENDAL_FS_ROOT}/free_plan_tenant_expired_logs'
    

孤立ファイルの削除

警告:実行前にデータベースとストレージをバックアップしてください。メンテナンス時間中に実行してください。

  1. データベースレコードのクリーン

    docker exec -it docker-api-1 flask clear-orphaned-file-records
    # 確認をスキップするには-fフラグを使用
    

  2. ストレージから孤立ファイルを削除

    docker exec -it docker-api-1 flask remove-orphaned-files-on-storage
    # 確認をスキップするには-fフラグを使用
    

注意:OpenDALストレージ(STORAGE_TYPE=opendal)でのみ動作します。

バックアップとリカバリ

アップグレード前のバックアップ作成

cp -r dify "dify.bak.$(date +%Y%m%d%H%M%S)"

バントの場合:

  • flexai/docker/volumesディレクトリ全体

ソースデプロイメントの場合: - データベース - ストレージ設定 - ベクトルデータベースデータ - 環境ファイル

データベースメンテナンス

ログ削除後、ストレージを回収:

PostgreSQL:

VACUUM FULL;

アップグレードプロセス

バージョンアップグレード

イメージデプロイメント:

docker compose pull
docker compose up -d

ソースコード:

git pull
cd api
flask db upgrade

データベーススキーママイグレーション

ソースコード更新時は常に必須:

cd api
flask db upgrade