luceos
Ok I have found the issue, I had a mix of MyISAM and Innodb tables. No idea why because I have always followed your installations perfectly(and I work with Laravel too)
I had to change all these tables:
Make sure you first delete the table causing the issue first if you see something like "table already exists"
ALTER TABLE post_mentions_user ENGINE = InnoDB;
ALTER TABLE tags ENGINE = InnoDB;
ALTER TABLE tag_user ENGINE = InnoDB;
ALTER TABLE post_mentions_user ENGINE = InnoDB;
ALTER TABLE post_likes ENGINE = InnoDB;
ALTER TABLE flags ENGINE = InnoDB;
ALTER TABLE discussion_tag ENGINE = InnoDB;
ALTER TABLE post_mentions_post ENGINE = InnoDB;
I deleted the table and reran the migration, all good.
I am not 100% sure about your file organisation as I did recognise it was not 100% a pure Laravel app but in Laravel usually I would add this in:
/config/database.php to force InnoDB for every migration(just in case a host DB does not process the tables properly
'engine' => 'InnoDB',
This is my DB:
Server version: 10.6.13-MariaDB - MariaDB Server
Hope this helps!
Ben