[evolvis-commits] r13207: Migrate forums and their messages
mirabilos at evolvis.org
mirabilos at evolvis.org
Mon Feb 28 02:22:54 CET 2011
Author: mirabilos
Date: 2011-02-28 02:22:54 +0100 (Mon, 28 Feb 2011)
New Revision: 13207
Modified:
trunk/gforge_base/evolvisforge-5.1/gforge/contrib/migrate-from-gfas.pl
Log:
Migrate forums and their messages
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/contrib/migrate-from-gfas.pl
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/contrib/migrate-from-gfas.pl 2011-02-28 01:22:52 UTC (rev 13206)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/contrib/migrate-from-gfas.pl 2011-02-28 01:22:54 UTC (rev 13207)
@@ -123,6 +123,7 @@
### Migrate groups
# First need to get rid of the template project
$dbhFF->do ("delete from groups where group_id = 5") ;
+$dbhFF->do ("delete from forum_group_list where group_id = 5") ;
$map = {
'project_id' => 'group_id',
@@ -264,6 +265,45 @@
die "Rolling back" ;
} ;
+### Forums
+$map = {
+ 'forum_id' => 'group_forum_id',
+ 'forum_name' => 'forum_name',
+ 'is_public' => 'is_public',
+ 'description' => 'description',
+ 'send_all_posts_to' => 'send_all_posts_to',
+ 'moderation_level' => 'moderation_level',
+ 'ref_id' => 'group_id',
+} ;
+print STDERR "Migrating forums\n" ;
+migrate_with_mapping ('forum', 'forum_group_list', $map, "where section = 'project'")
+ or do {
+ $dbhFF->rollback ;
+ die "Rolling back" ;
+} ;
+$map = {
+ 'forum_message.forum_message_id' => 'msg_id',
+ 'forum_message.forum_thread_id' => 'thread_id',
+ 'forum_message.created_by' => 'posted_by',
+ 'forum_message.subject' => 'subject',
+ 'forum_message.body' => 'body',
+ 'extract (epoch from forum_message.post_date)::integer' => 'post_date',
+ 'forum_message.parent_forum_message_id' => 'is_followup_to',
+ 'forum_thread.forum_id' => 'group_forum_id',
+ 'extract (epoch from forum_thread.most_recent_date)::integer' => 'most_recent_date',
+} ;
+print STDERR "Migrating forum messages\n" ;
+migrate_with_mapping ('forum_message, forum_thread', 'forum', $map, "where forum_message.is_approved = 't' and forum_message.forum_thread_id = forum_thread.forum_thread_id")
+ or do {
+ $dbhFF->rollback ;
+ die "Rolling back" ;
+} ;
+migrate_with_mapping ('forum_message, forum_thread', 'forum_pending_messages', $map, "where forum_message.is_approved = 'f' and forum_message.forum_thread_id = forum_thread.forum_thread_id")
+ or do {
+ $dbhFF->rollback ;
+ die "Rolling back" ;
+} ;
+
print STDERR "Migration script completed OK\n" ;
$dbhFF->commit ; print STDERR "Committed\n" ;
More information about the evolvis-commits
mailing list