تهيئة البيانات
إذا كنت تقوم بتوزيع Casdoor مع خدمات أخرى كتطبيق كامل، قد ترغب في توفير ميزة جاهزة للاستخدام للمستخدمين. هذا يعني أن المستخدمين يمكنهم استخدام التطبيق مباشرةً بدون أي تكوين.
في مثل هذه الحالة، يمكنك استخدام تهيئة البيانات لتسجيل خدمتك في Casdoor من خلال ملف تكوين. يمكن أن يكون هذا الملف محددًا مسبقًا أو يتم إنشاؤه ديناميكيًا بواسطة خدمتك الخاصة.
هنا نقدم درسًا تعليميًا لاستيراد أو تصدير بيانات التكوين.
استيراد بيانات التكوين
By default, if there is a configuration file named init_data.json at the root directory of Casdoor, it will be used to initialize data in Casdoor. You can also specify a custom path for the initialization file by setting the initDataFile parameter in conf/app.conf:
initDataFile = /path/to/your/init_data.json
If no custom path is specified, Casdoor will look for init_data.json in the root directory where Casdoor runs.
إذا كنت تستخدم صورة Docker الرسمية لـ Casdoor، إليك بعض السكربتات التي يمكن أن تساعدك في تركيب init_data.json داخل الحاوية.
يتم توفير قالب لـ init_data.json على: init_data.json.template. قم بإعادة تسميته إلى init_data.json قبل استخدامه.
لدوكر
إذا قمت بتوزيع Casdoor باستخدام Docker، يمكنك استخدام أمر volume لتركيب init_data.json داخل الحاوية.
docker run ... -v /path/to/init_data.json:/init_data.json
لكوبرنيتس
إذا قمت بتوزيع Casdoor باستخدام Kubernetes، يمكنك استخدام configmap لتخزين init_data.json.
apiVersion: v1
kind: ConfigMap
metadata:
name: casdoor-init-data
data:
init_data.json:
يمكنك تركيب البيانات في pods الخاصة بـ Casdoor عن طريق تركيب configmap. يمكنك تعديل deployment الخاص بك كما يلي:
apiVersion: apps/v1
kind: Deployment
...
spec:
template:
...
spec:
containers:
...
volumeMounts:
- mountPath: /init_data.json
name: casdoor-init-data-volume
subPath: init_data.json
volumes:
- configMap:
name: casdoor-init-data
name: casdoor-init-data-volume
تصدير بيانات التكوين
You can export all Casdoor configuration data to a file for backup or migration purposes. There are two methods available:
Using the Binary (Recommended)
If you're running Casdoor from a binary, use the -export flag to dump the database to a JSON file:
# Export to default location (init_data_dump.json)
./casdoor -export
# Export to a custom path
./casdoor -export -exportPath /path/to/backup.json
The export runs after database initialization but before the server starts, then exits automatically. This method works with any deployment method (binary, Docker, Kubernetes) and doesn't require Go toolchain or source code access.
Using Go Test
If you have access to the source code, you can use the test method:
go test ./object -v -run TestDumpToFile
This will generate init_data_dump.json in the same directory.
Migrating Data
After exporting, rename init_data_dump.json to init_data.json and place it in the root directory of your target Casdoor installation. On startup, Casdoor will automatically import the data.
مراجع
جميع كائنات Casdoor المدعومة بواسطة تهيئة البيانات هي كما يلي:
| كائن | Go Struct | التوثيق |
|---|---|---|
| المنظمات | struct | doc |
| التطبيقات | struct | doc |
| المستخدمون | struct | doc |
| الشهادات | struct | doc |
| المزودون | struct | doc |
| ldaps | struct | الوثائق |
| النماذج | struct | |
| الأذونات | struct | doc |
| المدفوعات | struct | الوثائق |
| المنتجات | struct | الوثائق |
| الموارد | struct | الوثائق |
| الأدوار | struct | الوثائق |
| المزامنون | struct | وثيقة |
| رموز | هيكل | وثيقة |
| ويب هوكس | هيكل | وثيقة |
| مجموعات | هيكل | وثيقة |
| محولات | هيكل | وثيقة |
| منفذون | هيكل | |
| خطط | struct | doc |
| تسعيرات | struct | وثيقة |
| دعوات | هيكل | وثيقة |
| سجلات | struct | |
| جلسات | هيكل | |
| اشتراكات | هيكل | doc |
| معاملات | هيكل |
إذا كنت لا تزال تشعر بالحيرة حول كيفية ملء هذا النموذج، يمكنك استدعاء واجهة برمجة التطبيقات RESTful أو استخدام وضع التصحيح في متصفحك لرؤية استجابة GetXXX لهذه الكائنات. الاستجابات بنفس تنسيق init_data.json.