Commit abd41bbb authored by Dan McGee's avatar Dan McGee Committed by Lukas Fleischer
Browse files

Allow DB connection values to come from the environment



Stop hardcoding everything everywhere for those of us that don't use the
localhost/aur/aur/AUR setup. Also allow for the dummy data to be created
in the reload script if it does not exist. Finally, remove two
assumptions that the AUR database already exists.
Signed-off-by: default avatarDan McGee <dan@archlinux.org>
Signed-off-by: default avatarLukas Fleischer <archlinux@cryptocrack.de>
parent b9690972
-- The MySQL database layout for the AUR. Certain data
-- is also included such as AccountTypes, etc.
--
DROP DATABASE AUR;
DROP DATABASE IF EXISTS AUR;
CREATE DATABASE AUR DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE AUR;
......
......@@ -9,13 +9,20 @@ usage: gendummydata.py outputfilename.sql
# package names. It generates the SQL statements to
# insert these users/packages into the AUR database.
#
import random
import time
import os
import sys
import cStringIO
import commands
DBUG = 1
SEED_FILE = "/usr/share/dict/words"
DB_HOST = "localhost"
DB_NAME = "AUR"
DB_USER = "aur"
DB_PASS = "aur"
DB_HOST = os.getenv("DB_HOST", "localhost")
DB_NAME = os.getenv("DB_NAME", "AUR")
DB_USER = os.getenv("DB_USER", "aur")
DB_PASS = os.getenv("DB_PASS", "aur")
USER_ID = 5 # Users.ID of first bogus user
PKG_ID = 1 # Packages.ID of first package
MAX_USERS = 300 # how many users to 'register'
......@@ -39,14 +46,6 @@ RANDOM_LOCS = ("pub", "release", "files", "downloads", "src")
FORTUNE_CMD = "/usr/bin/fortune -l"
import random
import time
import os
import sys
import cStringIO
import commands
if len(sys.argv) != 2:
sys.stderr.write("Missing output filename argument");
raise SystemExit
......@@ -60,6 +59,7 @@ out.write("BEGIN;\n")
#
if not os.path.exists(SEED_FILE):
sys.stderr.write("Please install the 'words' Arch package\n");
raise SystemExit
# Make sure database access will be available
#
......
#!/bin/sh
#!/bin/bash -e
mydir=`pwd`
if [ `basename $mydir` != "schema" ]; then
DB_NAME=${DB_NAME:-AUR}
DB_USER=${DB_USER:-aur}
# Password should allow empty definition
DB_PASS=${DB_PASS-aur}
DB_HOST=${DB_HOST:-localhost}
DATA_FILE=${DATA_FILE:-dummy-data.sql}
echo "Using database $DB_NAME, user $DB_USER, host $DB_HOST"
mydir=$(pwd)
if [ $(basename $mydir) != "schema" ]; then
echo "you must be in the aur/support/schema directory to run this script"
exit
exit 1
fi
echo "recreating database..."
mysql -uaur -paur AUR < ./aur-schema.sql
mysql -h $DB_HOST -u $DB_USER -p$DB_PASS < aur-schema.sql
if [ ! -f $DATA_FILE ]; then
echo "creating dumy-data..."
python2 gendummydata.py $DATA_FILE
fi
echo "loading dummy-data..."
bzcat ./dummy-data.sql.bz2 | mysql -uaur -paur AUR
mysql -h $DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME < $DATA_FILE
echo "done."
exit
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment