58 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
| #!/bin/bash
 | |
| 
 | |
| ## CAUTION:
 | |
| ## This script will remove (hopefully) all trace of the given room ID from
 | |
| ## your homeserver.db
 | |
| 
 | |
| ## Do not run it lightly.
 | |
| 
 | |
| set -e
 | |
| 
 | |
| if [ "$1" == "-h" ] || [ "$1" == "" ]; then
 | |
|   echo "Call with ROOM_ID as first option and then pipe it into the database. So for instance you might run"
 | |
|   echo " nuke-room-from-db.sh <room_id> | sqlite3 homeserver.db"
 | |
|   echo "or"
 | |
|   echo " nuke-room-from-db.sh <room_id> | psql --dbname=synapse"
 | |
|   exit
 | |
| fi
 | |
| 
 | |
| ROOMID="$1"
 | |
| 
 | |
| cat <<EOF
 | |
| DELETE FROM event_forward_extremities WHERE room_id = '$ROOMID';
 | |
| DELETE FROM event_backward_extremities WHERE room_id = '$ROOMID';
 | |
| DELETE FROM event_edges WHERE room_id = '$ROOMID';
 | |
| DELETE FROM room_depth WHERE room_id = '$ROOMID';
 | |
| DELETE FROM state_forward_extremities WHERE room_id = '$ROOMID';
 | |
| DELETE FROM events WHERE room_id = '$ROOMID';
 | |
| DELETE FROM event_json WHERE room_id = '$ROOMID';
 | |
| DELETE FROM state_events WHERE room_id = '$ROOMID';
 | |
| DELETE FROM current_state_events WHERE room_id = '$ROOMID';
 | |
| DELETE FROM room_memberships WHERE room_id = '$ROOMID';
 | |
| DELETE FROM feedback WHERE room_id = '$ROOMID';
 | |
| DELETE FROM topics WHERE room_id = '$ROOMID';
 | |
| DELETE FROM room_names WHERE room_id = '$ROOMID';
 | |
| DELETE FROM rooms WHERE room_id = '$ROOMID';
 | |
| DELETE FROM room_hosts WHERE room_id = '$ROOMID';
 | |
| DELETE FROM room_aliases WHERE room_id = '$ROOMID';
 | |
| DELETE FROM state_groups WHERE room_id = '$ROOMID';
 | |
| DELETE FROM state_groups_state WHERE room_id = '$ROOMID';
 | |
| DELETE FROM receipts_graph WHERE room_id = '$ROOMID';
 | |
| DELETE FROM receipts_linearized WHERE room_id = '$ROOMID';
 | |
| DELETE FROM event_search WHERE room_id = '$ROOMID'; 
 | |
| DELETE FROM guest_access WHERE room_id = '$ROOMID';
 | |
| DELETE FROM history_visibility WHERE room_id = '$ROOMID';
 | |
| DELETE FROM room_tags WHERE room_id = '$ROOMID';
 | |
| DELETE FROM room_tags_revisions WHERE room_id = '$ROOMID';
 | |
| DELETE FROM room_account_data WHERE room_id = '$ROOMID';
 | |
| DELETE FROM event_push_actions WHERE room_id = '$ROOMID';
 | |
| DELETE FROM local_invites WHERE room_id = '$ROOMID';
 | |
| DELETE FROM pusher_throttle WHERE room_id = '$ROOMID';
 | |
| DELETE FROM event_reports WHERE room_id = '$ROOMID';
 | |
| DELETE FROM public_room_list_stream WHERE room_id = '$ROOMID';
 | |
| DELETE FROM stream_ordering_to_exterm WHERE room_id = '$ROOMID';
 | |
| DELETE FROM event_auth WHERE room_id = '$ROOMID';
 | |
| DELETE FROM appservice_room_list WHERE room_id = '$ROOMID';
 | |
| VACUUM;
 | |
| EOF
 |