This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
galaxy-deployment-ansible-d…/tsg-olap/parcels/roles/initialization/arangodb/templates/create_database.sh.j2

55 lines
1.8 KiB
Plaintext
Raw Normal View History

#!/bin/bash
source /etc/profile
arangodb_host={{ groups.arangodb[0] | default('localhost') }}
username=root
pin="{{ arangodb_default_pin }}"
database="{{ arangodb_database }}"
function create_database() {
# 检查数据库是否存在
sleep 2
check_database=$(curl -u $username:$pin -s -o /dev/null -w "%{http_code}" http://$arangodb_host:8529/_db/$database/_api/database/current)
if [[ $check_database -eq 200 ]]; then
echo "Database $database already exists."
else
# 创建数据库
local response_code=$(curl -u $username:$pin -s -o /dev/null -w "%{http_code}" -X POST -H "accept: application/json" -d "{\"name\": \"$database\"}" http://$arangodb_host:8529/_api/database)
if [[ $response_code -eq 201 ]]; then
echo "Database $database created successfully."
else
echo "Failed to create database $database."
exit 1
fi
fi
sleep 2
}
function create_collection() {
local collection_name=$1
local collection_type=$2
sleep 2
# 检查文档是否存在
check_collection=$(curl -u $username:$pin -s -o /dev/null -w "%{http_code}" http://$arangodb_host:8529/_db/$database/_api/collection/$collection_name)
if [[ $check_collection -eq 200 ]]; then
echo "Collection $collection_name already exists."
else
# 创建文档$collection_name
local response_code=$(curl -u $username:$pin -s -o /dev/null -w "%{http_code}" -X POST -H 'accept: application/json' -d "{\"name\": \"$collection_name\",\"type\": $collection_type }" http://$arangodb_host:8529/_db/$database/_api/collection?isSystem=false)
if [[ $response_code -eq 201 ]]; then
echo "Collection $collection_name created successfully."
else
echo "Failed to create collection $collection_name."
exit 1
fi
fi
sleep 2
}
# 2: document 3: edges
create_database
create_collection IP 2
create_collection R_LOCATE_FQDN2IP 3