[FEATURE] Only recreate schema if migration fails

Currently every time behat tests are started the whole
schema is dropped and recreated. This takes in a current
project of mine about 14.46s.

This change tries to apply the regular migration first and only
falls back to a whole recreation if the migration fails.
This way the migration takes only about 0.08s.
[TASK] Make sure the migrationstatus table is not truncated