-
-
Couldn't load subscription status.
- Fork 6.2k
Description
>> BE ADVISED<<
If you find this issue in the future do not try to reproduce this ended up rendering
the gitea my instance read only and I had to revert back to sqlite.
Hello everyone,
I tried to migrate from sqlite to postgresql manually today.
I did run into some problems doing it the conventional way so
I figured I might as well document the experience and potentially
narrow down the problem so it can be fixed.
Short description
The problem seems to be the generated sql file (gitea dump -d postgres [..])
contains both INSERT and CREATE statements -- which does not fly well with
psql because it errors out if its not in order.
This puts the database in an incomplete state and you cannot run the app afterwards.
I did get it to work with the help of @zeripath by first running the postgres migrations, and then "blindly" importing the psql file when the relations already exist.
What I tried initially
gitea dump -d postgres -c /path/to/app.ini- Reconfigure
app.inifor postgresql - Load the sql file via
psql -d gitea -f backup.sql
But that generates errors like:
ERROR: relation "repository" does not exist
LINE 1: INSERT INTO "repository" ("id", "owner_id", "lower_name", "n...
^
ERROR: relation "repository" does not exist
LINE 1: INSERT INTO "repository" ("id", "owner_id", "lower_name", "n...Now, I know the dump command has been reimplemented in @lunny's PR over here so after that has been merged this
might no longer be a problem.
But long story short its impossible to restore the sql file
What I ended up having to do:
I dumped the sqlite3 schema+data via
gitea dump -d postgres -c /path/to/app.iniConfigured theapp.inito have a postgres instance accessible.Run the app once, to initialise the migration processPray there is noDELETEstatements in sql file, since it does miss a fewCREATE IF NOT EXISTstatements.Run the app againProfit
- Gitea version (or commit ref): 1.7.0-rc2
- Git version:
- Operating system:
- Database (use
[x]):- PostgreSQL
- MySQL
- MSSQL
- SQLite
- Can you reproduce the bug at https://try.gitea.io:
- Yes (provide example URL)
- No
- Not relevant