> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conare.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# الترحيل من Turbopuffer

> انسخ كل صف ومتجه وسمة من Turbopuffer إلى ConareDB عبر مستورِد قابل للاستئناف يتحقق من الصحة ويبقى للقراءة فقط على المصدر طوال الترحيل.

يشحن المحرك قيد التشغيل أداة CLI ترحيل خاصة به — نزّلها من الخدمة لكي تطابق دائماً البناء المنشور:

```bash theme={null}
curl -fsSO https://db.conare.ai/v1/tools/migrate-turbopuffer.py

export TURBOPUFFER_API_KEY='tpuf_...'
export CONAREDB_API_KEY='cdb_...'

python3 migrate-turbopuffer.py \
  --source-namespace my-production-data \
  --destination-namespace acme-production
```

## ما تضمنه

* **للقراءة فقط على المصدر.** لا يحذف أو يعدل أبداً بيانات Turbopuffer، ولا يُرسل مفتاح Turbopuffer إلى Conare أبداً.
* **قابل للاستئناف.** يُقسِّم الصفحات بمُعرّف تصاعدي، ويُنفذ upsert على دفعات الوجهة بشكل ذري، ويكتب نقطة تحقق خالية من الأسرار بعد كل صفحة مؤكَّدة — قاطعه وأعد تشغيله، سيكمل من حيث توقف.
* **مُتحقِّق.** يدمج الوجهة ويتحقق من عدد الصفوف عند اكتمال النسخ.
* **يفشل بأمان.** يدعم المستورد عمود متجه كثيف واحد لكل مساحة أسماء؛ مساحات الأسماء متعددة المتجهات، والمتجهات المتفرقة، والتفاعل المتأخر تفشل بخطأ صريح بدلاً من إسقاط البيانات بصمت.

## الخيارات

| العلم                                         | الغرض                               |
| --------------------------------------------- | ----------------------------------- |
| `--all-namespaces --destination-prefix acme-` | ترحيل حساب كامل                     |
| `--dry-run`                                   | التحقق من الصفحة الأولى دون كتابة   |
| `--vector-attribute name`                     | عندما لا يُسمى عمود المتجه `vector` |

## بعد الترحيل

تنقل الاستعلامات بشكل طبيعي: [طبقة توافق `/v2`](/db/search#turbopuffer-compatible-shim) تقبل شكل قراءة Turbopuffer (`rank_by`, `filters`, `top_k`, `include_attributes`) كما هو، ولغة الفلترة الأصلية [`/v1/search`](/db/search) تستخدم نفس معاملات `[property, op, value]` التي تكتبها بالفعل.
