Pavche
October 25, 2019, 9:07am
1
When I try to migrate Indico from 1.2 to 2.0
under Linux Debian 10
by starting script “indico-migrate”
then the console becomes unusable by displaying garbled characters.
I follow the steps from the guide:
https://docs.getindico.io/en/stable/installation/upgrade_legacy/
and I reach the section “Running indico-migrate”.
Then an unexpected side effect appears.
See screenshots.
That looks very weird. From what I can see between all the garbage there was an SQL error. indico-migrate
has a switch (--no-gui
or something like that) to disable the UI and uses just plain text. Try re-running in that mode - you should get a readable error in that case. Or check the migration log file if there’s anything useful in there about what went wrong…
Pavche
October 25, 2019, 9:54am
3
The error messages are:
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) relation "oauth.applications" does not exist
LINE 1: INSERT INTO oauth.applications (name, description, client_id...
^
[SQL: 'INSERT INTO oauth.applications (name, description, client_id, client_secret, default_scopes, redirect_uris, is_enabled, is_trusted, system_app_type) VALUES (%(name)s, %(description)s, %(client_id)s, %(client_secret)s, %(default_scopes)s, %(redirect_uris)s, %(is_enabled)s, %(is_trusted)s, %(system_app_type)s) RETURNING oauth.applications.id'] [parameters: {'is_enabled': True, 'redirect_uris': [u'http://localhost'], 'name': u'Checkin App', 'is_trusted': True, 'client_id': UUID('952471a1-c45c-492e-b861-368b5ac076d6'), 'system_app_type': <SystemAppType.checkin: 1>, 'client_secret': UUID('3f3c8b24-2362-440c-964d-4eb232632f9a'), 'default_scopes': [u'registrants'], 'description': u'The checkin app for mobile devices allows scanning ticket QR codes and checking-in event participants.'}]
I attach the whole message.indico_error.log (5.7 KB)
Database encoding must be UTF8; got SQL_ASCII
Recreate your database using createdb -E UTF8 -T template0 ...
There we go. Looks like your postgres has some weird defaults. This should fix it:
su - postgres -c 'dropdb indico'
su - postgres -c 'createdb -O indico -E UTF8 -T template0 indico'
su - postgres -c 'psql indico -c "CREATE EXTENSION unaccent; CREATE EXTENSION pg_trgm;"'
Pavche
October 30, 2019, 9:51am
5
I confirm that deleting the database and recreating it
has fixed the issue.