HansSchouten / Laravel-Pagebuilder

A drag and drop pagebuilder to manage pages in any Laravel project
https://www.phpagebuilder.com
MIT License
799 stars 184 forks source link

Migration Error #141

Open AboutErfan opened 1 year ago

AboutErfan commented 1 year ago

Hi, When I want run php artisan migrate, I've got this error:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'laravel.pagebuilder__settings' doesn't exist

How I can fix this?

thanks a lot

podcasthosting commented 1 year ago

We have the same problem on a fresh installation. Forcing a downgrade to v0.21.0 fixed the issue. But that of course is an old version of the package.

How I can fix this?

@AboutErfan You can manually copy over the migrations file from the vendor directory /vendor/hansschouten/laravel-pagebuilder/migrations/ and then execute php artisan migrate

That will create the missing tables. Afterwards things run smoothly.

ali-amento commented 1 year ago

Run

php artisan migrate

Before publishing the config file,

arvindjkhr commented 1 year ago

@ali-amento - I tried to do the same as well but could not succeed in this can you please make a small video about how to set this up from scratch and share the link here?

jim1506 commented 1 year ago

I had migration errors so I tried to dissect the migrations and do them manually but fields (meta_title, meta_description) are not mentioned in any of the migrations so I added them. Now I am getting an index error.

handhikadj commented 1 year ago

@ali-amento - I tried to do the same as well but could not succeed in this can you please make a small video about how to set this up from scratch and share the link here?

you need to delete the config/pagebuilder.php first before running the migrate command

emincer commented 1 year ago

you need to delete the config/pagebuilder.php first before running the migrate command

This was helpful... however, something seems to be wrong with the config file before publishing. The code looks like it wants to use a prefix: 'prefix' => 'pagebuilder__', But that seems ti fail because the migration is just creating a table called pages, which I already have. Had it worked properly it would have created pagebuilder__pages which would be perfect. So I changed the migration code to use '_pages' and it ran. Knowing that wasn't the right fix, just an experiment, I went to rollback the migration, which fails with SQLSTATE[42S02]: Base table or view not found: 1146 Table 'laravel.pagebuilder__settings' doesn't exist.

So ironically the rollback wants to use correct naming with the prefix but the migration seems to totally ignore the prefix. This is Laravel version 9. I'm unable to even rollback my experiment.