mirror of
https://github.com/postgres/pgweb.git
synced 2025-07-25 16:02:27 +00:00
59 lines
1.9 KiB
PL/PgSQL
59 lines
1.9 KiB
PL/PgSQL
--
|
|
-- scrub.sql
|
|
--
|
|
-- Scrub the contents of the pgweb database, so the data can be reasonably shared
|
|
-- by updating and deleting anything sensitive
|
|
--
|
|
-- WARNING! DO NOT RUN IN PRODUCTION!
|
|
--
|
|
-- NOTE! BEFORE USE, ALWAYS VALIDATE THAT THE SCRIPT IS UP TO DATE!
|
|
--
|
|
--
|
|
-- Always runs as a transaction, just in case...
|
|
|
|
\set ON_ERROR_STOP 1
|
|
BEGIN;
|
|
|
|
-- reset crypto keys of community auth sites
|
|
-- The actual sites and id's are not secret.
|
|
UPDATE account_communityauthsite SET cryptkey='XXX';
|
|
|
|
-- Any outstanding email tokens need to just be removed
|
|
DELETE FROM account_emailchangetoken;
|
|
|
|
-- As this is the master database, we need to massage the user table since it has a lot
|
|
-- of sensitive data in it. We need to clear out names and emails, as well as passwords.
|
|
-- The user is expected to manually set up new users as needed, but we need these
|
|
-- links to remain in the system.
|
|
UPDATE auth_user SET username='id' || id,
|
|
first_name='F' || id,
|
|
last_name='L' || id,
|
|
email='e' || id || '@scrubbed.postgresql.org',
|
|
password='NOTAVALIDHASHSETBYSCRUBBINGSCRIPT',
|
|
is_staff='f', is_superuser='f';
|
|
|
|
UPDATE contributors_contributor SET email='e'||id||'@scrubbed.postgresql.org';
|
|
|
|
DELETE FROM core_moderationnotification;
|
|
|
|
UPDATE core_organisation SET email='e'||id||'@scrubbed.postgresql.org', phone='1-555-'||id,
|
|
name='O'||id, address='scrubbedaddress', url='http://scrubbed.url';
|
|
DELETE FROM core_organisation_managers;
|
|
UPDATE core_userprofile SET sshkey='SSHKEYSCRUBBED';
|
|
|
|
TRUNCATE TABLE django_admin_log;
|
|
TRUNCATE TABLE django_session;
|
|
|
|
-- Just in case we snapshotted with something in the queue
|
|
DELETE FROM mailqueue_queuedmail;
|
|
|
|
UPDATE profserv_professionalservice SET contact='scrubbedcontact';
|
|
|
|
TRUNCATE TABLE survey_surveylock;
|
|
|
|
-- We still have a lot of migration data, so lose it.
|
|
DROP TABLE IF EXISTS users_old;
|
|
DROP TABLE IF EXISTS docs_doccomment_saved;
|
|
|
|
\echo NOTE! Transaction has not been committed. Verify manually and then commit!
|