كيف يمكن اخذ نسخة احتياطية من قاعدة البيانات sqlite

ahmedpahregypt123

السلام عليكم تحياتى للجميع اعمل على تطبيق react native استخدم قاعدة بيانات sqlite اريد اخذ نسخة احتياطية وحفظها مجلدات الهاتف

Storage/emulated/0/Documents

اريد تخذينها فى هذا المسار او انشاء ملف فى هذا المسار وحفظ النسخة بداخلة

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

يمكنك استخدام مكتبة react-native-fs للتعامل مع ملفات النظام، تحتاج الى بعض الخطوات للقيام بالأمر.

اولا قم بتثبيت مكتبة react-native-fs إذا لم تكن قد قمت بذلك بالفعل:

npm install react-native-fs --save

بعدها قم باستيراد مكتبة react-native-fs في ملفك:

import RNFS from 'react-native-fs';

الآن للقيام بعملية حفظ نسخة احتياطية من قاعدة البيانات SQLite وحفظها في المسار المطلوب تقوم باستخدام الكود التالي:

const sqliteDbPath = RNFS.DocumentDirectoryPath + '/your_database.db'; // مسار قاعدة البيانات
// اسحب ملف قاعدة البيانات إلى المسار المستهدف
RNFS.copyFile(sqliteDbPath, '/storage/emulated/0/Documents/backup_database.db')
  .then(success => {
    console.log('تم إنشاء نسخة احتياطية بنجاح.');
  })
  .catch(error => {
    console.error('حدث خطأ أثناء إنشاء النسخة الاحتياطية:', error);
  });

تأكد ايضا من أن التطبيق لديه الإذن الصحيح للوصول إلى الملفات على جهاز الهاتف. يمكنك طلب إذن WRITE_EXTERNAL_STORAGE إذا كان ذلك ضروريًا في ملف AndroidManifest.xml الخاص بالتطبيق.

يُفضل أيضا أن تضمن التحقق من وجود قاعدة البيانات SQLite قبل إجراء النسخة الاحتياطية ومنع أي أخطاء غير متوقعة.

شكرا لك انا استخدم expo هل المكتبة تعمل مع expo