Skip to content

Commit

Permalink
Merge pull request #20 from AndrewChubatiuk/frontend-build
Browse files Browse the repository at this point in the history
Frontend build
  • Loading branch information
AndrewChubatiuk authored Mar 10, 2024
2 parents e0566f1 + e2c9dab commit 14627ed
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 10 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ test_db:
docker compose exec postgres sh -c 'psql -U postgres -c "drop database if exists tests;" && psql -U postgres -c "create database tests;"'

create_database: .env
docker compose run server create_db
docker compose run server migrate

clean:
docker compose down && docker compose rm
Expand Down
43 changes: 38 additions & 5 deletions bin/docker-entrypoint
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,41 @@ server() {
esac
}

create_db() {
exec /app/manage.py database create_tables
migrate() {
REDASH_DB_MIGRATE_TIMEOUT=${REDASH_DB_UPGRADE_TIMEOUT:-600}
REDASH_DB_MIGRATE_MAX_ATTEMPTS=${REDASH_DB_MIGRATE_MAX_ATTEMPTS:-5}
REDASH_DB_MIGRATE_RETRY_WAIT=${REDASH_DB_MIGRATE_RETRY_WAIT:-10}
ATTEMPTS=0
while ((ATTEMPTS < MAX_ATTEMPTS)); do
echo "Starting attempt ${ATTEMPTS} of ${REDASH_DB_MIGRATE_MAX_ATTEMPTS}"
ATTEMPTS=$((ATTEMPTS+1))
timeout $REDASH_DB_MIGRATE_TIMEOUT /app/manage.py database create_tables
timeout $REDASH_DB_MIGRATE_TIMEOUT /app/manage.py db upgrade
STATUS=$(timeout $REDASH_DB_MIGRATE_TIMEOUT /app/manage.py status 2>&1)
RETCODE=$?
echo "Return code: ${RETCODE}"
echo "Status: ${STATUS}"
case "$RETCODE" in
0)
exit 0
;;
124)
echo "Status command timed out after ${REDASH_DB_MIGRATE_TIMEOUT} seconds."
;;
esac
case "$STATUS" in
*sqlalchemy.exc.OperationalError*)
echo "Database not yet functional, waiting."
;;
*sqlalchemy.exc.ProgrammingError*)
echo "Database does not appear to be installed."
;;
esac
echo "Waiting ${REDASH_DB_MIGRATE_RETRY_WAIT} seconds before retrying."
sleep 10
done
echo "Reached ${REDASH_DB_MIGRATE_MAX_ATTEMPTS} attempts, giving up."
exit 1
}

help() {
Expand All @@ -98,7 +131,7 @@ help() {
echo ""
echo "shell -- open shell"
echo "debug -- start Flask development server with remote debugger via ptvsd"
echo "create_db -- create database tables"
echo "migrate -- create database tables and run migrations"
echo "manage -- CLI to manage redash"
echo "tests -- run tests"
}
Expand Down Expand Up @@ -141,8 +174,8 @@ case "$1" in
shell)
exec /app/manage.py shell
;;
create_db)
create_db
migrate)
migrate
;;
manage)
shift
Expand Down
2 changes: 1 addition & 1 deletion client/cypress/cypress.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ function buildServer() {
function startServer() {
console.log("Starting the server...");
execSync("docker compose up -d", { stdio: "inherit" });
execSync("docker compose run server create_db", { stdio: "inherit" });
execSync("docker compose run server migrate", { stdio: "inherit" });
}

function stopServer() {
Expand Down
4 changes: 1 addition & 3 deletions redash/settings/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,7 @@
STATSD_USE_TAGS = parse_boolean(os.environ.get("REDASH_STATSD_USE_TAGS", "false"))

# Connection settings for Redash's own database (where we store the queries, results, etc)
SQLALCHEMY_DATABASE_URI = os.environ.get(
"REDASH_DB_URL", os.environ.get("DB_URL", "postgresql:///postgres")
)
SQLALCHEMY_DATABASE_URI = os.environ.get("REDASH_DB_URL", os.environ.get("DB_URL", "postgresql:///postgres"))
SQLALCHEMY_MAX_OVERFLOW = int_or_none(os.environ.get("SQLALCHEMY_MAX_OVERFLOW"))
SQLALCHEMY_POOL_SIZE = int_or_none(os.environ.get("SQLALCHEMY_POOL_SIZE"))
SQLALCHEMY_DISABLE_POOL = parse_boolean(os.environ.get("SQLALCHEMY_DISABLE_POOL", "false"))
Expand Down

0 comments on commit 14627ed

Please sign in to comment.