deban your long database table prefix might be causing the issue. Unfortunately Flarum and its extensions have no way to control the length of MySQL index names, which automatically get named with the table prefix, table name and column name, sometimes resulting in very long names that MySQL rejects.
To work around this, you would have to identify which migration is causing the issue and find its file in vendor/fof/upload/migrations
. If the migration consists of a single statement or the problematic statement is the first in the file, then you can edit that file to manually specify an alternate index name. If the migration contains multiple statements, you would have to comment out the statements that have already been successfully performed and then modify the remaining statements to specify a hard-coded index name. Or alternatively, look at the contents of the migration file, manually create the tables, columns and index in the database, then manually add the migration name to the migrations
table to indicate it has been performed.
If you are reinstalling Flarum at any point, I strongly recommend to choose a setup where no database table prefix is necessary. Unfortunately it's a bit complicated to remove a prefix on an existing database.