I am using docker-compose to run both metabase app and postgress database. I m using volumes to be sure that the data is persistnet. Everything works fine until I make docker-compose down and up again, then metabase connect to postgress successfully but it seems it wants to rerun migration as a fresh installation. I checked postgress metabase database and thankfully all tables exists and also the content of tables.
I am facing this issue when I try to make docker-compose up metabase-app
metabase-app_1 | 2022-01-18 14:09:50,291 INFO db.setup :: Verifying postgres Database Connection ...
metabase-app_1 | 2022-01-18 14:09:50,459 INFO db.setup :: Successfully verified PostgreSQL 14.1 (Debian 14.1-1.pgdg110+1) application database connection. ✅
metabase-app_1 | 2022-01-18 14:09:50,460 INFO db.setup :: Running Database Migrations...
metabase-app_1 | 2022-01-18 14:09:50,481 INFO db.setup :: Setting up Liquibase...
metabase-app_1 | 2022-01-18 14:09:50,545 INFO db.setup :: Liquibase is ready.
metabase-app_1 | 2022-01-18 14:09:50,545 INFO db.liquibase :: Checking if Database has unrun migrations...
metabase-app_1 | 2022-01-18 14:09:52,326 INFO db.liquibase :: Database has unrun migrations. Waiting for migration lock to be cleared...
metabase-app_1 | 2022-01-18 14:09:52,395 INFO db.liquibase :: Migration lock is cleared. Running migrations...
metabase-app_1 | 2022-01-18 14:09:52,485 ERROR changelog.ChangeSet :: Change Set migrations/000_migrations.yaml::1::agilliland failed. Error: ERROR: relation "core_user" already exists [Failed SQL: CREATE TABLE public.core_user (id SERIAL NOT NULL, email VARCHAR(254) NOT NULL, first_name VARCHAR(254) NOT NULL, last_name VARCHAR(254) NOT NULL, password VARCHAR(254) NOT NULL, password_salt VARCHAR(254) DEFAULT 'default' NOT NULL, date_joined TIMESTAMP WITH TIME ZONE NOT NULL, last_login TIMESTAMP WITH TIME ZONE, is_staff BOOLEAN NOT NULL, is_superuser BOOLEAN NOT NULL, is_active BOOLEAN NOT NULL, reset_token VARCHAR(254), reset_triggered BIGINT, CONSTRAINT CORE_USER_PKEY PRIMARY KEY (id), UNIQUE (email))]
metabase-app_1 | 2022-01-18 14:09:52,491 WARN metabase.util :: auto-retry metabase.db.liquibase$migrate_up_if_needed_BANG_$fn__34331@3de30fd8: Migration failed for change set migrations/000_migrations.yaml::1::agilliland:
metabase-app_1 | Reason: liquibase.exception.DatabaseException: ERROR: relation "core_user" already exists [Failed SQL: CREATE TABLE public.core_user (id SERIAL NOT NULL, email VARCHAR(254) NOT NULL, first_name VARCHAR(254) NOT NULL, last_name VARCHAR(254) NOT NULL, password VARCHAR(254) NOT NULL, password_salt VARCHAR(254) DEFAULT 'default' NOT NULL, date_joined TIMESTAMP WITH TIME ZONE NOT NULL, last_login TIMESTAMP WITH TIME ZONE, is_staff BOOLEAN NOT NULL, is_superuser BOOLEAN NOT NULL, is_active BOOLEAN NOT NULL, reset_token VARCHAR(254), reset_triggered BIGINT, CONSTRAINT CORE_USER_PKEY PRIMARY KEY (id), UNIQUE (email))]
metabase-app_1 | 2022-01-18 14:09:52,583 ERROR changelog.ChangeSet :: Change Set migrations/000_migrations.yaml::1::agilliland failed. Error: ERROR: relation "core_user" already exists [Failed SQL: CREATE TABLE public.core_user (id SERIAL NOT NULL, email VARCHAR(254) NOT NULL, first_name VARCHAR(254) NOT NULL, last_name VARCHAR(254) NOT NULL, password VARCHAR(254) NOT NULL, password_salt VARCHAR(254) DEFAULT 'default' NOT NULL, date_joined TIMESTAMP WITH TIME ZONE NOT NULL, last_login TIMESTAMP WITH TIME ZONE, is_staff BOOLEAN NOT NULL, is_superuser BOOLEAN NOT NULL, is_active BOOLEAN NOT NULL, reset_token VARCHAR(254), reset_triggered BIGINT, CONSTRAINT CORE_USER_PKEY PRIMARY KEY (id), UNIQUE (email))]
Here is my docker-compose
metabase-postgres-db:
image: postgres
restart: always
ports:
- 5432:5432
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: metabase
POSTGRES_DB: metabase
PGDATA: /var/lib/postgresql/data
volumes:
- pg-data:/var/lib/postgresql/data
metabase_app:
image: metabase/metabase
restart: always
ports:
- 3000:3000
volumes:
- metabase-data:/metabase-data
environment:
- MB_DB_TYPE=postgres
- MB_DB_DBNAME=metabase
- MB_DB_PORT=5432
- MB_DB_USER=metabase
- MB_DB_PASS=postgres
- MB_DB_HOST=metabase-postgres-db
depends_on:
- metabase-postgres-db
links:
- metabase-postgres-db
volumes:
metabase-data:
pg-data:
Plz advice