يدعم تطبيق إدارة MagicTradeBot عدة قواعد بيانات تعتمد على SQL لتخزين وإدارة البيانات الأساسية المتعلقة بالتداول. توفر هذه المرونة للمستخدمين إمكانية العمل في بيئات تتراوح من قواعد البيانات المدمجة خفيفة الوزن إلى قواعد البيانات العلائقية القوية المخصصة للبيئات الإنتاجية.
📌 ما هي البيانات التي يتم تخزينها
يقوم MagicTradeBot بتخزين البيانات المنظمة التالية في مصدر البيانات المتصل:
- حسابات التداول: بيانات اعتماد البورصات ومفاتيح API والإعدادات الخاصة بكل بورصة.
- رموز التداول: العملات/الأزواج المرتبطة ببورصات أو حسابات محددة.
- قوالب التداول: تعريفات مخصصة تشمل الاستراتيجيات، عناصر التحكم في المخاطر، وربط الرموز.
- بيانات التداول: سجلات التداول الفورية والتاريخية وبيانات التنفيذ.
- بيانات Kline: بيانات الشموع التي يتم إنشاؤها وتحسينها محلياً بدون الاعتماد على مزودي خدمات خارجيين.
- أخرى: السجلات، إعدادات النظام، الجداول الزمنية، وبيانات التشغيل الحيوية الأخرى.
💾 قواعد البيانات المدعومة
يدعم MagicTradeBot حالياً محركات قواعد البيانات SQL التالية:
- SQLite – خفيفة الوزن ومدمجة (الخيار الافتراضي)
- SQL Server – قاعدة بيانات مؤسسية متكاملة من Microsoft
- MySQL – نظام قواعد بيانات مفتوح المصدر وشائع الاستخدام
- PostgreSQL – نظام قواعد بيانات علائقي كائني متقدم ومفتوح المصدر
⚙️ إعداد الاتصال
يتم تكوين جميع اتصالات قواعد البيانات في ملف appsettings.json
داخل تطبيق الإدارة:
{
"ConnectionStrings": {
"SQLLight": "Data Source=Data/MTManagementDB.db",
"SQLSERVER": "Server=localhost;Database=MagicTrade;User Id=sa;Password=yourpass;",
"Postge": "Server=localhost;Database=MagicTrade;User Id=pguser;Password=yourpass;",
"MySQL": "Server=localhost;Database=MagicTrade;User=mtuser;Password=yourpass;"
},
"Secrets": {
// ⚠️ تحذير: لا تقم أبدًا بتحميل بيانات حساسة إلى نظام التحكم في الإصدارات!
"Database": {
"Host": "", // متغير بيئة: Secrets__Database__Host
"Name": "", // متغير بيئة: Secrets__Database__Name
"User": "", // متغير بيئة: Secrets__Database__User
"Password": "" // متغير بيئة: Secrets__Database__Password
}
}
}
🔐 أفضل ممارسات الأمان
- لا تقم بتخزين بيانات اعتماد الدخول في
appsettings.json
عند العمل في بيئة الإنتاج. - استخدم متغيرات البيئة لتمرير القيم الحساسة بأمان، مثل:
Secrets__Database__User
Secrets__Database__Password
- استخدم مدير الأسرار أو أسرار Docker في البيئات الحاوية.
- قم بتشفير قاعدة البيانات في حالة الخمول إن أمكن.
🧪 استخدام SQLite الافتراضي (موصى به للتطوير المحلي)
يأتي MagicTradeBot مدمجًا ومُعدًا مسبقًا مع SQLite، ولا يتطلب إعدادًا يدويًا لتبدأ في اختباره محليًا.
"SQLLight": "Data Source=Data/MTManagementDB.db"
يتم إنشاء قاعدة البيانات القائمة على الملفات تلقائيًا ضمن مجلد /Data
.
🔧 التبديل إلى قواعد بيانات خارجية
- قم بإنشاء قاعدة البيانات المطلوبة في SQL Server / MySQL / PostgreSQL.
- قم بتحديث سلسلة الاتصال المناسبة في
appsettings.json
. - تأكد من فتح المنافذ المطلوبة وإتاحتها.
- أعد تشغيل تطبيق الإدارة.
🧩 الملخص
- يقوم MagicTradeBot بتخزين جميع بيانات التداول والإعدادات والسجلات في قاعدة بيانات منظمة.
- يدعم قواعد البيانات الخفيفة والمخصصة للمؤسسات.
- يوفر نشرًا آمنًا وقابلًا للتوسع باستخدام متغيرات بيئة آمنة.
- يمكن التبديل بين قواعد البيانات بسهولة عن طريق تعديل الإعدادات فقط.
لدعم التوزيع المتقدم، يمكن أيضًا إجراء نسخ احتياطية مجدولة وعمليات تكرار قاعدة البيانات حسب المحرك المستخدم.