#!/usr/bin/env bash

HOST=db.alphabets.cn:57017
#HOST=127.0.0.1:57017
DB=311cfe609ac2
#DB=f3b13c80420b
#DB=628f1c81af5c
PWD=e37cc2ba9de7
CODE=light.
DATAPATH=/Users/lilin/Desktop

######################
## 导出
######################
if [ "$1" == "export" ]; then

## 开发
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection="$CODE"boards --out="$DATAPATH"/data/boards.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection="$CODE"configurations --out="$DATAPATH"/data/configurations.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection="$CODE"functions --out="$DATAPATH"/data/functions.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection="$CODE"i18ns --out="$DATAPATH"/data/i18ns.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection="$CODE"routes --out="$DATAPATH"/data/routes.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection="$CODE"settings --out="$DATAPATH"/data/settings.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection="$CODE"structures --out="$DATAPATH"/data/structures.json

## 环境
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=apps --out="$DATAPATH"/data/apps.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=containers --out="$DATAPATH"/data/containers.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=datacenters --out="$DATAPATH"/data/datacenters.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=images --out="$DATAPATH"/data/images.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=machines --out="$DATAPATH"/data/machines.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=middlewares --out="$DATAPATH"/data/middlewares.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=runtimes --out="$DATAPATH"/data/runtimes.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=templates --out="$DATAPATH"/data/templates.json

fi

######################
## 导入
######################
if [ "$1" == "import" ]; then

mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection="$CODE"boards --file="$DATAPATH"/data/boards.json
mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection="$CODE"configurations --file="$DATAPATH"/data/configurations.json
mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection="$CODE"functions --file="$DATAPATH"/data/functions.json
mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection="$CODE"i18ns --file="$DATAPATH"/data/i18ns.json
mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection="$CODE"routes --file="$DATAPATH"/data/routes.json
mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection="$CODE"settings --file="$DATAPATH"/data/settings.json
mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection="$CODE"structures --file="$DATAPATH"/data/structures.json

mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection=apps --file="$DATAPATH"/data/apps.json
mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection=containers --file="$DATAPATH"/data/containers.json
mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection=datacenters --file="$DATAPATH"/data/datacenters.json
mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection=images --file="$DATAPATH"/data/images.json
mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection=machines --file="$DATAPATH"/data/machines.json
mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection=middlewares --file="$DATAPATH"/data/middlewares.json
mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection=runtimes --file="$DATAPATH"/data/runtimes.json
mongoimport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop --collection=templates --file="$DATAPATH"/data/templates.json

fi

######################
## 备份
######################
if [ "$1" == "dump" ]; then

mongodump --host=$HOST -u root -p $PWD --authenticationDatabase=admin --excludeCollection=states --db=$DB --out="$DATAPATH"

fi

######################
## 恢复
######################
if [ "$1" == "restore" ]; then

mongorestore --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --drop "$DATAPATH"/$DB

fi
