Is there a simple way to export the data from a meteor deployed app?

后端 未结 12 2072
轻奢々
轻奢々 2020-11-30 16:30

Is there a simple way to export the data from a meteor deployed app?

So, for example, if I had deployed an app named test.meteor.com...

How could I easily d

12条回答
  •  有刺的猬
    2020-11-30 17:09

    Here is another solution in bash

    #! /bin/bash
    # inspired by http://stackoverflow.com/questions/11353547/bash-string-extraction-manipulation
    
    # http://www.davidpashley.com/articles/writing-robust-shell-scripts/
    set -o nounset
    set -o errexit
    set -o pipefail
    set -x
    
    # stackoverflow.com/questions/7216358/date-command-on-os-x-doesnt-have-iso-8601-i-option
    function nowString {
        date -u +"%Y-%m-%dT%H:%M:%SZ"
    }
    
    NOW=$(nowString)
    
    # prod_url="mongodb://...:...@...:.../..."
    prod_pattern="mongodb://([^:]+):([^@]+)@([^:]+):([^/]+)/(.*)"
    prod_url=$(meteor mongo katapoolt --url | tr -d '\n')
    [[ ${prod_url} =~ ${prod_pattern} ]]
    PROD_USER="${BASH_REMATCH[1]}"
    PROD_PASSWORD="${BASH_REMATCH[2]}"
    PROD_HOST="${BASH_REMATCH[3]}"
    PROD_PORT="${BASH_REMATCH[4]}"
    PROD_DB="${BASH_REMATCH[5]}"
    PROD_DUMP_DIR=dumps/${NOW}
    mkdir -p dumps
    
    # local_url="mongodb://...:.../..."
    local_pattern="mongodb://([^:]+):([^/]+)/(.*)"
    local_url=$(meteor mongo --url | tr -d '\n')
    [[ ${local_url} =~ ${local_pattern} ]]
    LOCAL_HOST="${BASH_REMATCH[1]}"
    LOCAL_PORT="${BASH_REMATCH[2]}"
    LOCAL_DB="${BASH_REMATCH[3]}"
    
    mongodump --host ${PROD_HOST} --port ${PROD_PORT} --username ${PROD_USER} --password ${PROD_PASSWORD} --db ${PROD_DB} --out ${PROD_DUMP_DIR}
    mongorestore --port ${LOCAL_PORT} --host ${LOCAL_HOST} --db ${LOCAL_DB} ${PROD_DUMP_DIR}/${PROD_DB}
    

提交回复
热议问题