السلام عليكم عمل على انشاء تطبيق react native expo التطبيق يعمل على قاعدة بيانات sqlite اريد عمل نسخ لملف قاعدة البيانات وحفظة فى فولدر معين على الهاتف لكى يتم عمل له مزامنة على الجوجل درايف شكرا مقدما و تحياتى للجميع
كيف يتم عمل نسخ للداتا بيس فى مجلد معين على الهاتف react native expo
أولاً عليك بتثبيت حزمة Expo SQLite في مشروعك من خلال التالي:
expo install expo-sqlite
ثم قم بإنشاء ءدالة لنسخ ملف قاعدة البيانات وحفظها في المجلد المطلوب كالتالي:
import * as FileSystem from 'expo-file-system'; import * as SQLite from 'expo-sqlite'; // اسم ملف قاعدة البيانات الأصلي const databaseName = 'database.db'; // اسم الملف الذي ستتم نسخه فيه const backupFileName = 'database_backup.db'; // المجلد الذي سيتم فيه حفظ النسخة الاحتياطية const backupFolderPath = `${FileSystem.documentDirectory}backups/`; // دالة لنسخ ملف قاعدة البيانات const backupDatabase = async () => { try { // إنشاء المجلد إذا لم يكن موجودًا await FileSystem.makeDirectoryAsync(backupFolderPath, { intermediates: true }); // المسار الكامل لملف قاعدة البيانات الأصلي const databasePath = `${FileSystem.documentDirectory}SQLite/${databaseName}`; // المسار الكامل لملف النسخة الاحتياطية const backupFilePath = `${backupFolderPath}${backupFileName}`; // نسخ ملف قاعدة البيانات await FileSystem.copyAsync({ from: databasePath, to: backupFilePath }); console.log('تم إنشاء نسخة احتياطية بنجاح.'); } catch (error) { console.error('حدث خطأ أثناء إنشاء نسخة احتياطية:', error); } };
واستدعِ دالة backupDatabase() في أي مكان تحتاج إلى إنشاء نسخة احتياطية، مثلاً عند الضغط على زر "إنشاء نسخة احتياطية" في واجهة المستخدم.
التعليقات