ViMbAdmin icon indicating copy to clipboard operation
ViMbAdmin copied to clipboard

DB Schema Creation Error using PostgreSQL

Open Proxymiity opened this issue 2 years ago • 1 comments

When initializing the database with Postgres, the relation IX_Username_1 is already used on admin (username):

CREATE TABLE admin (id BIGINT NOT NULL, username VARCHAR(255) DEFAULT NULL, password VARCHAR(255) NOT NULL, super BOOLEAN DEFAULT 'false' NOT NULL, active BOOLEAN DEFAULT 'true' NOT NULL, created TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, modified TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id));
CREATE UNIQUE INDEX IX_Username_1 ON admin (username);
[...]
CREATE UNIQUE INDEX IX_Username_1 ON mailbox (username);

This causes the following error: [42P07] ERROR: relation "ix_username_1" already exists.

Using orm:schema-tool:create --dump-sql and changing the relation to ix_username_2 solves the problem.

Proxymiity avatar Aug 07 '23 13:08 Proxymiity

Unsure whether this is the best solution

SELECT
    tablename,
    indexname,
    indexdef
FROM
    pg_indexes
WHERE
    indexname = 'ix_username_1'
ORDER BY
    tablename,
    indexname;

Results in

 tablename |   indexname   |                                  indexdef                                  
-----------+---------------+----------------------------------------------------------------------------
 mailbox   | ix_username_1 | CREATE UNIQUE INDEX ix_username_1 ON public.mailbox USING btree (username)
(1 Zeile)

frlan avatar Mar 23 '24 21:03 frlan