Changeset 1806
- Timestamp:
- 04/08/08 10:43:07 (8 months ago)
- Files:
-
- branches/release-34/lib/MT/Upgrade.pm (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/release-34/lib/MT/Upgrade.pm
r1805 r1806 669 669 version_limit => 4.0023, 670 670 priority => 3.0, 671 code => \&remove_unused_templatemap, 671 updater => { 672 type => 'blog', 673 label => 'Removing unused template maps...', 674 condition => sub { 675 my $blog = shift; 676 my @blog_at = map { "'$_'" } split ',', $blog->archive_type; 677 MT::TemplateMap->remove( 678 { blog_id => $blog->id, archive_type => \@blog_at }, 679 { not => { archive_type => 1 } } 680 ) if @blog_at; 681 return 0; 682 }, 683 }, 672 684 }, 673 685 'core_set_author_auth_type' => { … … 956 968 $tmpl->remove if $tmpl; 957 969 } 958 959 my %terms;960 my %args;961 970 if (my @blog_ids = keys %blogs) { 962 $terms{id} = \@blog_ids; 963 $args{not} = { id => 1 }; 964 } 965 my $blog_iter = MT::Blog->load_iter(\%terms, \%args); 966 # These blogs does not have search results - upgrades from 3.2 or before. 967 while (my $blog = $blog_iter->()) { 968 my $tmpl = MT::Template->load( 969 { type => 'search_results', blog_id => $blog->id,}); 970 $tmpl->remove if $tmpl; 971 MT::Template->remove( 972 { type => 'search_results', blog_id => \@blog_ids }, 973 { not => { blog_id => 1 } } 974 ); 971 975 } 972 976 0; … … 1120 1124 while (my $role = $role_iter->()) { 1121 1125 if ($self->_process_masks($role)) { 1122 $role->save; 1126 # do not have to rebuild permissions here. 1127 # "save" here causes segfault in sqlite. 1128 $role->update; 1123 1129 } 1124 1130 } … … 1795 1801 } 1796 1802 1; 1797 }1798 1799 sub remove_unused_templatemap {1800 my $self = shift;1801 1802 $self->progress($self->translate_escape('Removing unused template maps...'));1803 1804 require MT::Blog;1805 require MT::TemplateMap;1806 my $iter = MT::Blog->load_iter();1807 while (my $blog = $iter->()) {1808 my @blog_at = map { "'$_'" } split ',', $blog->archive_type;1809 MT::TemplateMap->remove(1810 { blog_id => $blog->id, archive_type => \@blog_at },1811 { not => { archive_type => 1 } }1812 );1813 }1814 1803 } 1815 1804
