دیتابیسِ فعلیتان هر جا باشد (لیارا، دارکوب، سرورِ خودتان یا هر سرویسِ دیگر)، انتقالش به Weblines سه قدم دارد:
- از دیتابیسِ فعلی یک فایلِ dump بگیرید.
- در Weblines یک دیتابیس با همان موتور بسازید.
- فایل را در تبِ Backups همان دیتابیس ایمپورت کنید.
۱. خروجی گرفتن#
اگر سرویسِ فعلی فایلِ بکاپ میدهد#
اگر پنلِ سرویسِ فعلی فایلِ بکاپ را برای دانلود میدهد، همان فایل کافی است. لینکِ مستقیمِ دانلود را میتوانید در قدمِ سوم مستقیم بدهید و لازم نیست اول فایل را روی سیستمِ خودتان بیاورید.
اگر خودتان dump میگیرید#
با دسترسیِ بیرونیِ دیتابیسِ فعلی (آدرس و پورتی که سرویسِ فعلی برای اتصال از بیرون میدهد) یکی از این دستورها را روی سیستمِ خودتان اجرا کنید:
# PostgreSQL — فرمتِ custom، فشرده و بدونِ مالکیتِ نقشها
pg_dump "postgresql://USER:PASSWORD@HOST:PORT/DBNAME" -Fc --no-owner --no-acl -f app.dump
# MySQL
mysqldump -h HOST -P PORT -u USER -p --single-transaction --routines DBNAME | gzip > app.sql.gz
# MariaDB
mariadb-dump -h HOST -P PORT -u USER -p --single-transaction --routines DBNAME | gzip > app.sql.gz
# MongoDB
mongodump --uri "mongodb://USER:PASSWORD@HOST:PORT/?authSource=admin" --gzip --archive=app.archive.gz
نسخهی ابزارِ
pg_dumpباید برابر یا جدیدتر از نسخهی سرورِ مبدأ باشد.
۲. ساختِ دیتابیس در Weblines#
از Services → New یک دیتابیس با همان موتور بسازید و صبر کنید وضعیتش RUNNING شود. اطلاعاتِ اتصالِ جدید در تبِ Overview است.
۳. ایمپورت#
- در صفحهی دیتابیس به تبِ Backups بروید و IMPORT DUMP را بزنید (owner یا admin).
- یکی را انتخاب کنید:
- Upload a file: فایل را انتخاب کنید (تا ۲ گیگ). تا پایانِ آپلود تب را باز نگه دارید.
- From a link: لینکِ مستقیمِ دانلود (http یا https). فایل مستقیم روی سرور دانلود میشود. لینک باید عمومی باشد و ریدایرکت نکند.
- نامِ دیتابیس را برای تأیید تایپ کنید و IMPORT AND REPLACE را بزنید.
بعد از آن در بخشِ Restores & imports همان تب، مراحل را با لاگِ زنده میبینید:
- Safety backup: از دادهی فعلیِ دیتابیسِ Weblines یک بکاپ گرفته میشود.
- Loading data: دیتابیس خالی و دوباره ساخته میشود و فایل بارگذاری میشود. در MongoDB فقط collectionهایی که در فایل هستند جایگزین میشوند و بقیه میمانند.
وقتی کار تمام شود، از راهِ کانالهایی که در Settings → Notifications تنظیم کردهاید (گروهِ Backups & restores) خبر میگیرید.
فرمتهای قابلِ قبول#
| موتور | فایل |
|---|---|
| PostgreSQL | خروجیِ pg_dump -Fc (.dump) یا SQL ساده (.sql، .sql.gz) |
| MySQL / MariaDB | خروجیِ mysqldump یا mariadb-dump (.sql، .sql.gz) |
| MongoDB | خروجیِ mongodump --archive (با یا بدونِ --gzip) |
فایلِ zip پذیرفته نمیشود؛ اول آن را باز کنید و فایلِ داخلش را بدهید.
اگر پیامِ «with warnings» دیدید#
dumpِ سرویسِ دیگر معمولاً دستورهایی دربارهی مالکِ جدولها و نقشهای آن سرور دارد (مثلاً ALTER TABLE … OWNER TO …). این دستورها اینجا لازم نیستند و رد میشوند؛ همهچیز مالِ کاربرِ همین دیتابیس است. اگر خطای دیگری باشد، ایمپورت FAILED میشود و لاگ دلیلش را نشان میدهد. در این حالت دادهی قبلی در بکاپِ ایمنی هست و از همان تب قابلِ بازگردانی است.
بعد از ایمپورت#
- رشتهی اتصالِ اپتان را به اطلاعاتِ جدید عوض کنید، یا اگر اپ هم در Weblines است دیتابیس را به آن لینک کنید.
- چند کوئریِ ساده بزنید و تعدادِ ردیفهای جدولهای اصلی را با مبدأ مقایسه کنید. OPEN SQL SHELL در تبِ Overview همین کار را در مرورگر میکند.
- تا وقتی از انتقال مطمئن نشدهاید، دیتابیسِ قبلی را پاک نکنید.
