Does the package have a publish command?
If it does it should put the migrations in the right place.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
That's a tongue twister... Occasionally when I run php artisan migrate it attempts to run migrations that have already been executed thus throwing a Base table or view already exists. To work around this I usually delete the offending migration but Id prefer to keep them around. How are migrations tracked? Does it just check against the migrations table?
Currently I'm running into this issue with a migration that was generated from a third party package and I don't have a migration file in the migration folder. I assume its in the vendor folder somewhere?
Thanks!
If the migration hasn't been run but the table already exists (maybe from a package or an export from a different environment), you can manually add the migration to the migrations table.
Just copy the last one in the table and update the name to reflect the name of the migration you want to skip.
You should never have to delete migration files! How will you ever install your application on a different server or computer?
Please or to participate in this conversation.