From 79fa164f3b977d20dd4f8f21c546d78e94a65439 Mon Sep 17 00:00:00 2001 From: sup39 Date: Thu, 18 Jan 2024 21:56:43 +0900 Subject: [PATCH] dev: create neko/install.sql for db init/migration --- dev/Makefile | 5 ----- dev/docker-compose.yml | 2 ++ docker-compose.example.yml | 1 + docs/install.md | 18 +++--------------- docs/migrate.md | 8 ++++---- neko/install.sql | 1 + 6 files changed, 11 insertions(+), 24 deletions(-) create mode 100644 neko/install.sql diff --git a/dev/Makefile b/dev/Makefile index 7c644802..7f75b630 100644 --- a/dev/Makefile +++ b/dev/Makefile @@ -10,8 +10,3 @@ down: .PHONY: up up: podman-compose up --detach - sleep 2 - podman-compose exec db psql \ - --user=firefish \ - --dbname=firefish_db \ - --command='CREATE EXTENSION pgroonga;' diff --git a/dev/docker-compose.yml b/dev/docker-compose.yml index 8059ab14..0b78ce8d 100644 --- a/dev/docker-compose.yml +++ b/dev/docker-compose.yml @@ -14,3 +14,5 @@ services: - "POSTGRES_DB=firefish_db" ports: - "5432:5432" + volumes: + - "../neko/install.sql:/docker-entrypoint-initdb.d/install.sql:ro" diff --git a/docker-compose.example.yml b/docker-compose.example.yml index fbad1f21..801b3351 100644 --- a/docker-compose.example.yml +++ b/docker-compose.example.yml @@ -40,6 +40,7 @@ services: - .config/docker.env volumes: - ./db:/var/lib/postgresql/data + - ./neko/install.sql:/docker-entrypoint-initdb.d/install.sql:ro networks: calcnet: diff --git a/docs/install.md b/docs/install.md index ba6add5a..34c1cef7 100644 --- a/docs/install.md +++ b/docs/install.md @@ -98,10 +98,10 @@ sudo -u postgres psql --command="CREATE DATABASE ${POSTGRES_DB} OWNER ${POSTGRES_USER} encoding = 'UTF8';" ``` -7. PGroonga を有効化する +7. データベースに変更を加える ```bash - sudo -u postgres psql --dbname="${POSTGRES_DB}" --command='CREATE EXTENSION pgroonga;' + sudo -u postgres psql --dbname="${POSTGRES_DB}" --file=neko/install.sql ``` 8. Firefish をビルドする @@ -201,19 +201,7 @@ x86_64 アーキテクチャの Linux のマシン上では、[`registry.code.na ./update.sh --install --podman ``` -6. データベースのコンテナのみを起動する - - ```bash - podman-compose up db --detach - ``` - -7. PGroonga を有効にする(`firefish` と `firefish_db` はそれぞれ自分が決めたユーザー名とデータベース名に変えて実行する) - - ```bash - podman-compose exec db psql --user=firefish --dbname=firefish_db --command='CREATE EXTENSION pgroonga;' - ``` - -8. Firefish を起動する +6. Firefish を起動する ```bash podman-compose up --detach diff --git a/docs/migrate.md b/docs/migrate.md index fdf2fcdd..4006c17a 100644 --- a/docs/migrate.md +++ b/docs/migrate.md @@ -90,10 +90,10 @@ db: firefish_db # これ ``` -11. 以下のコマンドを実行して PGroonga の拡張機能を有効にする(`firefish_db` の部分は自分のデータベース名に変えて実行) +11. 以下のコマンドを実行してデータベースに変更を加える(`firefish_db` の部分は自分のデータベース名に変えて実行) ```bash - sudo -u postgres psql --command="CREATE EXTENSION pgroonga;" --dbname=firefish_db + sudo -u postgres psql --dbname=firefish_db --file=neko/install.sql ``` 12. 新しい Firefish のディレクトリに入ってビルドする @@ -148,11 +148,11 @@ Docker を使う場合には以下の `podman`, `podman-compose`, `--podman` を cp -r firefish.old/.config firefish ``` -6. 以下のコマンドを実行して PGroonga を有効にする(`firefish` と `firefish_db` はそれぞれ `.config/docker.env` や `.config/default.yml` に書いた PostgreSQL のユーザー名とデータベース名に置き換える) +6. 以下のコマンドを実行してデータベースに変更を加える ```bash podman-compose up db --detach - podman-compose exec db psql --command='CREATE EXTENSION pgroonga;' --user=firefish --dbname=firefish_db + podman-compose exec db sh -c 'psql --user="${POSTGRES_USER}" --dbname="${POSTGRES_DB}" --file=/docker-entrypoint-initdb.d/install.sql' ``` 7. コンテナイメージをダウンロードまたはビルドする diff --git a/neko/install.sql b/neko/install.sql new file mode 100644 index 00000000..57f59f32 --- /dev/null +++ b/neko/install.sql @@ -0,0 +1 @@ +CREATE EXTENSION IF NOT EXISTS pgroonga;