Upgrade Guide
Upgrading to 2.2.0 From 1.1
Estimated Upgrade Time: 10 - 15 Minutes
We attempt to document every possible change. Since some of these changes are in obscure parts of the API only a portion of these changes may actually affect your application.{.notice}
Backup Forum
The first thing we want to do is backup the forum tables. The following tables should be backed up as SQL with values only. No table structure - data only.
-
forum_channels
-
forum_channels_translations
-
forum_comments
-
forum_discussions
-
forum_participation
Update Constraint
Next update your composer constraints to something along the lines of "anomaly/forum-module": "~2.2.0"
or the likes and run composer update
.
Reinstall
Next, simply reinstall the addon without the seed
option.
php artisan addon:reinstall forum
Modify Schema
Next, we need to make a couple small modifications to the new schema so that our import works.
Comments
Add an int
column called user_id
to the forum_comments
table.
Participation
Add a varchar (255)
column called subscription
to the forum_participation
table.
Import
Next import the exported data we did in the first step.
Update Counts
Add the following to your routes/console.php
file:
Artisan::command(
'forum:update',
function (\Anomaly\ForumModule\Discussion\Contract\DiscussionRepositoryInterface $discussions) {
foreach ($discussions->all() as $discussion) {
$discussion->setAttribute('view_count', $discussion->participants->count());
$discussion->setAttribute('comment_count', $discussion->comments->count());
$discussion->save();
$this->info("Updated discussion [{$discussion->getId()}]");
}
}
);
Then run php artisan forum:update
. You can remove this code when it fiishes.
Finishing Up
Next run the following queries to update defaults in existing data:
UPDATE {application}_forum_participation SET following = true WHERE subscription = 'follow'
UPDATE {application}_forum_discussions SET approved = true
UPDATE {application}_forum_comments SET approved = true