Initialize database clusters on bootstrap.
parent
5e62a13543
commit
2cecfa42d1
|
@ -68,6 +68,15 @@ sed -i "s/<APP_NAME>/$APP/g" "$BUILD/flake.nix"
|
|||
# `$(whoami)`. Reflect this in the config.
|
||||
sed -i "s/username: \"postgres\"/username: \"$(whoami)\"/g" "$BUILD/config/dev.exs"
|
||||
|
||||
# Create a new database cluster.
|
||||
nix develop "$BUILD" --command bash -c "pg_ctl initdb -D $BUILD/data"
|
||||
|
||||
# Append an additional rule to `.gitignore` to ignore the database cluster.
|
||||
cat <<EOF >> "$BUILD"/.gitignore
|
||||
# The default location of the generated database cluster.
|
||||
/data/
|
||||
EOF
|
||||
|
||||
# ============================================================
|
||||
# EPILOGUE
|
||||
# ============================================================
|
||||
|
|
|
@ -10,12 +10,8 @@ $> nix develop
|
|||
|
||||
## Quickstart
|
||||
|
||||
To begin, create a new database:
|
||||
```bash
|
||||
$> pg_ctl initdb
|
||||
```
|
||||
If the flake's default `devShell` is loaded, this will create a database cluster
|
||||
at `$PWD/data`. To start the database, run the following:
|
||||
An empty Postgres cluster is initialized at `/data`. To start the database, run
|
||||
the following:
|
||||
```bash
|
||||
$> pg_ctl start -o --unix_socket_directories="$PGDATA"
|
||||
```
|
||||
|
@ -23,8 +19,10 @@ To shut the database down, run:
|
|||
```bash
|
||||
$> pg_ctl stop
|
||||
```
|
||||
You can also specify a different location for the database cluster using the
|
||||
`-D` option in each of the above commands.
|
||||
You can connect to this database from the project root directory by running:
|
||||
```bash
|
||||
$> psql -h "$PWD"/data -d postgres
|
||||
```
|
||||
|
||||
Afterward, you can run the Phoenix setup commands:
|
||||
```bash
|
||||
|
|
|
@ -42,6 +42,9 @@ trap cleanup EXIT
|
|||
# Copy template contents over to the intermediate build directory.
|
||||
cp -r template/* "$BUILD"
|
||||
|
||||
# Create a new database cluster.
|
||||
nix develop "$BUILD" --command bash -c "pg_ctl initdb -D $BUILD/data"
|
||||
|
||||
# Explicitly set permissions on all copied files.
|
||||
find "$BUILD" -type f -execdir chmod 644 {} +
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
# The default location of a generated database cluster.
|
||||
# The default location of the generated database cluster.
|
||||
/data/
|
||||
|
|
|
@ -10,12 +10,8 @@ $> nix develop
|
|||
|
||||
## Quickstart
|
||||
|
||||
To begin, create a new database:
|
||||
```bash
|
||||
$> pg_ctl initdb
|
||||
```
|
||||
If the flake's default `devShell` is loaded, this will create a database cluster
|
||||
at `$PWD/data`. To start the database, run the following:
|
||||
An empty Postgres cluster is initialized at `/data`. To start the database, run
|
||||
the following:
|
||||
```bash
|
||||
$> pg_ctl start -o --unix_socket_directories="$PGDATA"
|
||||
```
|
||||
|
@ -23,5 +19,7 @@ To shut the database down, run:
|
|||
```bash
|
||||
$> pg_ctl stop
|
||||
```
|
||||
You can also specify a different location for the database cluster using the
|
||||
`-D` option in each of the above commands.
|
||||
You can connect to this database from the project root directory by running:
|
||||
```bash
|
||||
$> psql -h "$PWD"/data -d postgres
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue