Skip to content

Commit 631bb30

Browse files
slayerjainclaude
andauthored
fix(ps-cache-kotlin): use psql -c instead of heredoc for schema setup (#125)
docker exec ... psql -f- <<'SQL' doesn't work reliably because docker exec doesn't forward stdin from heredocs by default. Use psql -c "..." which works in all shells. Also add sleep 3 to wait for Postgres readiness. Signed-off-by: slayerjain <shubhamkjain@outlook.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 2f3e62a commit 631bb30

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

ps-cache-kotlin/README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,17 +59,19 @@ docker run -d --name pg-demo \
5959
-e POSTGRES_DB=testdb \
6060
-p 5432:5432 postgres:16
6161

62+
# Wait for Postgres to be ready
63+
sleep 3
64+
6265
# Create the schema and seed data
63-
docker exec pg-demo psql -U postgres -d testdb -f- <<'SQL'
64-
CREATE SCHEMA IF NOT EXISTS travelcard;
65-
CREATE TABLE IF NOT EXISTS travelcard.travel_account (
66+
docker exec pg-demo psql -U postgres -d testdb -c "
67+
CREATE SCHEMA IF NOT EXISTS travelcard;
68+
CREATE TABLE IF NOT EXISTS travelcard.travel_account (
6669
id SERIAL PRIMARY KEY, member_id INT NOT NULL UNIQUE,
6770
name TEXT NOT NULL, balance INT NOT NULL DEFAULT 0);
68-
INSERT INTO travelcard.travel_account (member_id, name, balance) VALUES
71+
INSERT INTO travelcard.travel_account (member_id, name, balance) VALUES
6972
(19, 'Alice', 1000), (23, 'Bob', 2500),
7073
(31, 'Charlie', 500), (42, 'Diana', 7500)
71-
ON CONFLICT (member_id) DO NOTHING;
72-
SQL
74+
ON CONFLICT (member_id) DO NOTHING;"
7375

7476
# Build
7577
mvn package -DskipTests -q

0 commit comments

Comments
 (0)