larapack / hooks

Hooks is a extension system for your Laravel application.
https://larapack.io
MIT License
219 stars 15 forks source link

Name collision with Seed files #39

Open akazorg opened 6 years ago

akazorg commented 6 years ago

We cannot use Seed files using the same name of any of Voyager files, like DataRowsTableSeeder, PermissionsTableSeeder, etc., because they are being autoloaded from composer.

As result, when installing a Hook the system will use classes from the auloaded, missing the seeds located on the Hook folder.

This bug was hard to figure out, because install will run fine without any error message.

fletch3555 commented 6 years ago

We could namespace them, but that's not "standard" Laravel, and is hard to enforce in community-submitted hooks.

marktopper commented 6 years ago

Yea, I think it would be a good idea to namespace them, but Laravel seeder does not support that by default, so will need to overwrite some code in the seeder script. Once that is done I think we should just write a best practice about doing so, in order for the community to namespace their seeders in the hooks.

fletch3555 commented 6 years ago

Laravel's seeder should handle that just fine. You just have to call the class explicitly with the namespace