progressivetech / net.ourpowerbase.sumfields

The Summary Fields extension creates read-only custom data fields that extend Contact and are automatically populated with up-to-date totals such as total lifetime contributions, last contribution amount, last attended event, etc.
Other
8 stars 29 forks source link

DB upgrades never complete if started from within civi. #47

Open Paul-Tahoe opened 5 years ago

Paul-Tahoe commented 5 years ago

This is not a big deal for us but it might be for others and figured you'd like the feedback

So I upgraded to 5.0.2 from the extension page and got two messages. Extension Error DB Error:No such field

And Your extensions require database updates Please execute the upgrades

I press the link, it gives me a progress bar that never goes beyond the first bump. I can see from what's happening in the db that the insert into temp table blablabla is happening and then is done but the progress bar never changes. Waited overnight. It still thinks it needs updating.

I ran it from cv (cv ext:upgrade-db) and it completed.

We have the Joinery's More Summary Fields enabled and are using a lot of them. The related ones are pretty sql intensive so the sql takes a while to run. I'm guessing the task bar way of doing the upgrade expects the sql to finish faster than it is and this is probably a core issue and not really your issue. I don't know if you can insert any messages or warning or suggestions to run the db upgrade from the command line or maybe running it from your page where it is run from a cron job.

jmcclelland commented 5 years ago

Thanks for the feedback. This particular upgrade triggers a rebuild of all your summary fields because it introduces a new method (calculating contributions using the line items table instead of the contributions table). Maybe an alternative would be to remove that upgrade job and instead simply give people a message saying that they should rebuild their summary fields on their own. That's not great for less technically inclined users who might not have any idea how to do it though.

laryn commented 5 years ago

Thanks for the tip about cv ext:upgrade-db @Paul-Tahoe -- I had the same issue on a site with a lot of historic contribution data that had been imported, and that command unstuck me.