gitlabhq / mysql-postgresql-converter

Lanyrd's MySQL to PostgreSQL conversion script
BSD 2-Clause "Simplified" License
45 stars 23 forks source link

issues when migrating from sameersbn/gitlab:9.4.3 to gitlab/gitlab-ce:9.4.3-ce.0 #15

Open colinbrownec opened 7 years ago

colinbrownec commented 7 years ago

I had been using the docker container by sameersbn, until GitLab made their official omnibus docker container.

I encountered a couple of issue's along the way.

Some quick background, I updated from 9.1.3 -> 9.4.3 using sameersbn/gitlab on a MySQL database and then converted the MySQL database from 9.4.3 to a Postgres database to restore from.

After following the instructions in this projects README and this document. I had to make the following changes to be able to import the database into Postgres.

1) The wrong binary type is used when creating table merge_request_diff_commits

    "sha" varbinary(20) NOT NULL,

The correct binary type for Postgres should by bytea

    "sha" bytea NOT NULL,

2) Several '0000-00-00 00:00:00' timestamps are not replaced when creating tables ci_group_variables, ci_pipeline_schedule_variables, and merge_request_diff_commits

    "updated_at" timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

I replace all null timestamps with CURRENT_TIMESTAMP since the fields were also marked as non-null

    "updated_at" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,

But at the end of the day I had a working database, thanks for the work!

Tsubashi commented 7 years ago

Had the same issue, except I was migrating from a source install with MySQL to the docker version.