Files
AgentHub/server/data/profile-templates/postgres-compose/hooks/db-create.sh
T
nntrivi2001 17d56d0e01 refactor!: rebrand CCAM to AgentHub
Clean break, no compatibility alias. Renames the product name, the CLI
binary (`ccam` -> `agenthub`), the env var prefix (`CCAM_` ->
`AGENTHUB_`), the Prometheus metric namespace (`ccam_*` ->
`agenthub_*`), the tmux session prefix (`ccam-lane-<id>` ->
`agenthub-lane-<id>`), the per-repo runtime profile directory
(`.ccam/profile` -> `.agenthub/profile`), the lanes state root
(`~/.claude/ccam-lanes` -> `~/.claude/agenthub-lanes`), the bundled
plugins (`plugins/ccam*` -> `plugins/agenthub*`) and their slash
commands (`/ccam-doctor` -> `/agenthub-doctor`, `/ccam:*` ->
`/agenthub:*`).

Because there is no alias, an existing install has to be updated by
hand: rename its `.ccam/profile` directory and any `CCAM_*` variables,
and reinstall the plugin under its new name.

Two other name families are deliberately left alone here, since they are
not just strings: the `Claude-Code-Monitor` repository/marketplace name,
and the `agent-dashboard` npm package plus its `~/.claude/agent-dashboard`
runtime directory, which holds the live database and needs a migration
rather than a rename.

Verified: server 1406/1406, client 459/459, `grep -i ccam` clean across
tracked files, `openapi.yaml` regenerated (95 paths, unchanged count).
2026-09-07 12:09:15 +07:00

30 lines
1.7 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# ─────────────────────────────────────────────────────────────────────────────
# db-create.sh – Create this lane's Postgres database inside a docker-compose
# service, via `createdb`. Ported verbatim from Shipyard's own lane-bootstrap
# / lane-up / lane-reset scripts, so a Postgres-via-compose repo gets parity
# by copying this template into its own .agenthub/profile/hooks/.
#
# Called as: db-create.sh <db-name> (also available as $DB_NAME)
# Requires, declared in the repo's own profile.env:
# COMPOSE_FILE path to the docker-compose file (e.g. "$LANE_DIR/docker-compose.yml")
# DB_SERVICE the compose service name running Postgres
# Provided by AgentHub's hook environment (server/lib/secrets.js):
# PG_USER (PG_PASS is deliberately not exported — trust auth inside the
# compose network needs no password for this call)
# ─────────────────────────────────────────────────────────────────────────────
# @author Nguyễn Ngọc Trí Vĩ <vinnt@smartgift.vn>
set -euo pipefail
NAME="${1:-$DB_NAME}"
[ -n "$NAME" ] || { echo "db-create: no database name given" >&2; exit 1; }
if docker compose -f "$COMPOSE_FILE" exec -T "$DB_SERVICE" \
psql -U "$PG_USER" -tAc "SELECT 1 FROM pg_database WHERE datname='$NAME'" | grep -q 1; then
echo "db-create: $NAME already exists"
exit 0
fi
docker compose -f "$COMPOSE_FILE" exec -T "$DB_SERVICE" createdb -U "$PG_USER" "$NAME"
echo "db-create: created $NAME"