scripts/mir-setup: new scripts:
[mir.git] / scripts / mir-setup / mir-empty-db
diff --git a/scripts/mir-setup/mir-empty-db b/scripts/mir-setup/mir-empty-db
new file mode 100644 (file)
index 0000000..d5da8cf
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/sh
+# ianb@erislabs.net 20080212
+# empty out a mir db ready to reload a database dump
+
+# uploaded_media should be last because other tables depend on it
+TABLES="active_article_classification active_groups
+        active_multimedia_file active_publishbuffer
+        active_ratings_system active_usertable active_webcast
+        active_webcast_groups active_webcast_groups_appear
+        active_weblink article_type audio breaking comment
+        comment_status comment_x_media content content_x_media
+        content_x_topic features_category features_feature_categories
+        features_features features_imc_site_info features_language
+        features_site_languages features_tmp_features_count filter
+        filter_group images img_color img_format img_layout img_type
+        language media_folder media_type messages other_media rights
+        topic video webdb_users
+       uploaded_media"
+
+SEQUENCES="category_id_seq features_id_seq imc_site_info_id_seq
+           groupid webcastid weblinkid publishbufferid
+           article_classificationid webcast_groupsid
+           webcast_groups_appearid usertableid multimedia_fileid
+           ratings_systemid media_folder_id_seq media_type_id_seq
+           language_id_seq comment_status_id_seq webdb_users_id_seq
+           article_type_id_seq topic_id_seq comment_id_seq
+           media_id_seq breaking_id_seq messages_id_seq filter_id_seq
+           filter_group_id_seq"
+
+
+if [ $# -lt 1 ]
+then
+    echo "usage: $0 [dbname]" 1>&2
+    echo " deletes mir db ready for a database restore" 1>&2
+    echo " USE WITH CARE - will destroy your mir database" 1>&2
+    exit 1
+fi
+
+(
+    echo "DROP LANGUAGE plpgsql;"
+    echo "DROP FUNCTION plpgsql_call_handler ( ) ;"
+    for i in $TABLES
+    do
+       echo "DROP TABLE $i;"
+    done
+    for i in $SEQUENCES
+    do
+       echo "DROP SEQUENCE $i;"
+    done
+) | sudo -u postgres psql "$1"