#!/bin/sh ### CRIMSON --- A simple PHP framework. ### Copyright © 2024 Freya Murphy <contact@freyacat.org> ### ### This file is part of CRIMSON. ### ### CRIMSON is free software; you can redistribute it and/or modify it ### under the terms of the GNU General Public License as published by ### the Free Software Foundation; either version 3 of the License, or (at ### your option) any later version. ### ### CRIMSON is distributed in the hope that it will be useful, but ### WITHOUT ANY WARRANTY; without even the implied warranty of ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ### GNU General Public License for more details. ### ### You should have received a copy of the GNU General Public License ### along with CRIMSON. If not, see <http://www.gnu.org/licenses/>. # `psql` # This is an alias for running # $ `compose` exec postgres psql -U $POSTGRES_USER $POSTGRES_DB. # # When working on a crimson project, you will likely have to lurk within the # database at times. This makes it nicer enter it since you dont have to type # the full command. :) # ================================================================ CONSTANTS == # ROOT: This is the folder the crimson project is located in. ROOT is used to # load the crimson environment. We need this since that is where POSTGRES_USER # and POSTGRES_DB are stored. # CALL_ROOT: This is the folder that the user who called `compose` is currently # in. For crimson to work this must be the folder that your project using # crimson is. This is because crimson loads `.env` here to load any user # specified environment. `.env` is needed in cause you override POSTGRES_USER # and/or POSTGRES_DB. ROOT="$(dirname "$0")" CALL_ROOT="$(pwd)" # ================================================================ BOOTSTRAP == # Load `base.env` and `.env`, then launch psql in docker. source "$ROOT/base.env" source "$CALL_ROOT/.env" $ROOT/compose exec postgres psql -U "${POSTGRES_USER}" "${POSTGRES_DB}" "$@"