瀏覽代碼

moving script variables to env file

main
Simon Bowie 3 天之前
父節點
當前提交
74f1f140f6
共有 2 個檔案被更改,包括 23 行新增20 行删除
  1. +14
    -1
      .env.template
  2. +9
    -19
      database_functions.sh

+ 14
- 1
.env.template 查看文件

# This config file contains the environment variables for the application and for the database
# This config file contains the environment variables for the application, the database, and the accompanying database_functions.sh script


# Flask variables # Flask variables
FLASK_APP=app FLASK_APP=app
MYSQL_DATABASE=compendium MYSQL_DATABASE=compendium
MYSQL_USER=flask MYSQL_USER=flask
MYSQL_PASSWORD= MYSQL_PASSWORD=

# database_functions.sh variables
DATABASE_CONTAINER=mariadb
DATABASE_USERNAME=
DATABASE_PASSWORD=
EXPORT_DIRECTORY="./db_exports"
EXPORT_SQL_FILENAME=compendium_db_
EXPORT_TXT_DIRECTORY="./table_exports"
EXPORT_TXT_FILENAME=$2`date +"%Y%m%d"`
BACKUP_SQL_FILENAME=compendium_backup
STORAGE_USERNAME=
STORAGE_SERVER=
STORAGE_DIRECTORY=

+ 9
- 19
database_functions.sh 查看文件



Export() Export()
{ {
docker exec -it $CONTAINER mariadb-dump --single-transaction -u $USERNAME -p$PASSWORD $DATABASE > $EXPORT_DIRECTORY/$EXPORT_SQL_FILENAME`date +"%Y%m%d"`.sql
docker exec -it $DATABASE_CONTAINER mariadb-dump --single-transaction -u $DATABASE_USERNAME -p$DATABASE_PASSWORD $MYSQL_DATABASE > $EXPORT_DIRECTORY/$EXPORT_SQL_FILENAME`date +"%Y%m%d"`.sql
} }


Import() Import()
{ {
docker exec -i $CONTAINER mariadb -u $USERNAME -p$PASSWORD $DATABASE < $IMPORT_SQL_FILE
docker exec -i $DATABASE_CONTAINER mariadb -u $DATABASE_USERNAME -p$DATABASE_PASSWORD $MYSQL_DATABASE < $IMPORT_SQL_FILE
} }


Table_export() Table_export()
{ {
docker exec -it $CONTAINER bash -c "mariadb -u $USERNAME -p$PASSWORD $DATABASE --batch -e 'SELECT * FROM $TABLE'" > $EXPORT_TXT_DIRECTORY/$EXPORT_TXT_FILENAME.txt
docker exec -it $DATABASE_CONTAINER bash -c "mariadb -u $DATABASE_USERNAME -p$DATABASE_PASSWORD $MYSQL_DATABASE --batch -e 'SELECT * FROM $TABLE'" > $EXPORT_TXT_DIRECTORY/$EXPORT_TXT_FILENAME.txt
} }


Table_import() Table_import()
{ {
docker cp $IMPORT_TXT_FILE $CONTAINER:/tmp/import_file
docker cp $IMPORT_TXT_FILE $DATABASE_CONTAINER:/tmp/import_file


docker exec -i $CONTAINER bash -c "mariadb -u $USERNAME -p$PASSWORD $DATABASE -e 'LOAD DATA LOCAL INFILE '\''/tmp/import_file'\'' REPLACE INTO TABLE $TABLE FIELDS TERMINATED BY '\''\t'\'' LINES TERMINATED BY '\''\r'\'' IGNORE 1 ROWS;'"
docker exec -i $DATABASE_CONTAINER bash -c "mariadb -u $DATABASE_USERNAME -p$DATABASE_PASSWORD $MYSQL_DATABASE -e 'LOAD DATA LOCAL INFILE '\''/tmp/import_file'\'' REPLACE INTO TABLE $TABLE FIELDS TERMINATED BY '\''\t'\'' LINES TERMINATED BY '\''\r'\'' IGNORE 1 ROWS;'"
} }


Drop_table() Drop_table()
{ {
docker exec -i $CONTAINER bash -c "mariadb -u $USERNAME -p$PASSWORD $DATABASE -e 'DROP TABLE IF EXISTS $TABLE;'"
docker exec -i $DATABASE_CONTAINER bash -c "mariadb -u $DATABASE_USERNAME -p$DATABASE_PASSWORD $MYSQL_DATABASE -e 'DROP TABLE IF EXISTS $TABLE;'"
} }


Backup() Backup()
{ {
docker exec -it $CONTAINER mariadb-dump --single-transaction -u $USERNAME -p$PASSWORD $DATABASE > $EXPORT_DIRECTORY/$BACKUP_SQL_FILENAME.sql
docker exec -it $DATABASE_CONTAINER mariadb-dump --single-transaction -u $DATABASE_USERNAME -p$DATABASE_PASSWORD $MYSQL_DATABASE > $EXPORT_DIRECTORY/$BACKUP_SQL_FILENAME.sql


scp $EXPORT_DIRECTORY/$BACKUP_SQL_FILENAME.sql $STORAGE_USERNAME@$STORAGE_SERVER:$STORAGE_DIRECTORY scp $EXPORT_DIRECTORY/$BACKUP_SQL_FILENAME.sql $STORAGE_USERNAME@$STORAGE_SERVER:$STORAGE_DIRECTORY
} }
############################################################ ############################################################
############################################################ ############################################################


# set variables
CONTAINER=mariadb
DATABASE=compendium
USERNAME=xxxxxxxx
PASSWORD=xxxxxxxx
EXPORT_DIRECTORY="./db_exports"
EXPORT_SQL_FILENAME=compendium_db_
EXPORT_TXT_FILENAME=$2`date +"%Y%m%d"`
BACKUP_SQL_FILENAME=compendium_backup
STORAGE_USERNAME=xxxxxxxx
STORAGE_SERVER=xxxxxxxx
STORAGE_DIRECTORY=xxxxxxxx
# retrieve variables from .env file (see .env.template for template)
source .env.dev


# error message for no flags # error message for no flags
if (( $# == 0 )); then if (( $# == 0 )); then

Loading…
取消
儲存