Rails
で、データベースのダンプの取り方には2種類あるということで、
ダンプをSQL
で設定して、マイグレーションした際に、下記のように怒られました。
error
pg_dump: server version: 12beta2 (Debian 12~beta2-1.pgdg100+1); pg_dump version: 11.4 (Debian 11.4-1)
pg_dump: aborting because of server version mismatch
なんか、バージョンがあっていないらしい
確認してみると、PostgreSQL
のバージョンは12beta2
で、
# psql --version
psql (PostgreSQL) 12beta2 (Debian 12~beta2-1.pgdg100+1)
postgresql-client
のバージョンは11.4
だった
# pg_config
VERSION = PostgreSQL 11.4 (Debian 11.4-1)
クライアントのバージョンを上げようと、色々調べたけど、
現在latest
のバージョンは11
らしく、
僕の力では、できませんでした...
PostgreSQL
のバージョンを11
に下げることにした
PostgreSQL
はdocker-compose.yml
で構築しているので、
image: postgres:11
にして、
postgresql-client
はpostgresql-client-11
とバージョンを指定してインストールするようにした。
マイグレーションを実行すると...
rails/db/structure.sql
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
SET default_tablespace = '';
SET default_with_oids = false;
--
-- Name: ar_internal_metadata; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.ar_internal_metadata (
key character varying NOT NULL,
value character varying,
created_at timestamp without time zone NOT NULL,
updated_at timestamp without time zone NOT NULL
);
できた〜
終わり
DBを構築する上で、クライアントのバージョンも気にしないといけないんだな〜