Перейти к основному содержанию

Инициализация данных

Если вы развертываете Casdoor вместе с другими сервисами как полноценное приложение, вы можете предоставить пользователям функцию «из коробки». Это означает, что пользователи могут напрямую использовать приложение без какой-либо настройки.

В такой ситуации вы можете использовать инициализацию данных для регистрации вашего сервиса в Casdoor через файл конфигурации. Этот файл может быть предопределенным или динамически сгенерированным вашим собственным сервисом.

Здесь мы предоставляем учебник по импорту или экспорту конфигурационных данных.

Импорт конфигурационных данных

Если в корневом каталоге Casdoor есть файл конфигурации с именем init_data.json, он будет использоваться для инициализации данных в Casdoor. Все, что вам нужно сделать, это поместить этот файл в корневой каталог, где будет работать Casdoor.

Если вы используете официальный образ Docker для Casdoor, вот некоторые скрипты, которые могут помочь вам смонтировать init_data.json в контейнер.

Шаблон для init_data.json предоставлен по адресу: init_data.json.template. Переименуйте его в init_data.json перед использованием.

Для Docker

Если вы развертываете Casdoor с помощью Docker, вы можете использовать команду volume для монтирования init_data.json в контейнер.

docker run ... -v /path/to/init_data.json:/init_data.json

Для Kubernetes

Если вы развертываете 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

Экспорт конфигурационных данных

Вы также можете экспортировать все конфигурационные данные Casdoor в файл для миграции данных. Go тест с именем TestDumpToFile() предоставлен по адресу: init_data_dump_test.go

go test ./object -v -run TestDumpToFile

После выполнения этого Go теста, файл с именем init_data_dump.json будет сгенерирован в той же директории. Этот файл содержит полные конфигурационные данные Casdoor. Если вы хотите мигрировать данные в другой экземпляр Casdoor, просто переименуйте init_data_dump.json в init_data.json и переместите его в корневой каталог целевой папки Casdoor.

Ссылки

Все объекты Casdoor, поддерживаемые инициализацией данных, перечислены ниже:

ОбъектСтруктура GoДокументация
организацииstructdoc
приложенияstructdoc
пользователиstructdoc
сертификатыstruct
провайдерыstructdoc
ldapstructdoc
моделиstruct
разрешенияstructдокументация
платежиstructдокументация
продуктыstructдокументация
ресурсыstructдокументация
ролиstructдокументация
синхронизаторыstructдокументация
токеныstructдокументация
вебхукиstructдокументация
группыstructдокументация
адаптерыstructдокументация
принудителиstruct
планыstructдокументация
ценообразованиеstructдокументация
приглашенияstructдокументация
записиstruct
сессииstruct
подпискиstructдокументация
транзакцииstruct

Если вы все еще чувствуете себя сбитым с толку при заполнении этого шаблона, вы можете вызвать RESTful API или использовать режим отладки вашего браузера, чтобы увидеть ответ GetXXX на эти объекты. Ответы представлены в том же формате, что и init_data.json.