Failed update, can't login, can't proceed

I’ve tried to update zammad to the 3.4.0 version, but the db:migrate has failed with the line:
“Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE INDEX index_smime_certificates_on_modulus ON smime_certificates (modulus)”

So, right now people can’t log in to the zammad, because of the error:
“Mysql2::Error: Table ‘zammad_production.active_job_locks’ doesn’t exist: SHOW FULL FIELDS FROM active_job_locks (ActiveRecord::StatementInvalid)”

How can I force db:migrate to create missing tables/indexes?

Edit: The table smime_certificates is also gone.

From which version are you upgrading?

I think that it was 3.2.
Maybe the easiest way to fix this would be to compare table structures and just set the missing elements in the phpmyadmin?

Honestly, I can’t suggest manual hacking in the database.
If you can, rollback to Zammad 3.2 and ensure that all your migrations have run.

If that’s no option, you can try to downgrade to Zammad 3.2.

You can run migrations via rake db:migrate (depending on your OS and installation method)
If there are no migrations to be run left, try upgrading again. If it still fails, try to use 3.3 as middle step.

However, this usually shouldn’t be required. I get the feeling that earlier migrations have failed.

If you can’t fix it by above steps, yes, easiest way is to hack it into the database, but well.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.