skillbox/docs/clean-up-prod-db-for-import.md

47 lines
957 B
Markdown

Download latest backup from Heroku
```
heroku pg:backups:download --app appname
```
Load backup locally
```
# assumes your POSTGRES env variables are set correctly
./bin/restore-database.sh -f <dumpfile> -d <database>
```
Remove all users that are not admin users, also their created contents
```
Objective.objects.exclude(owner=None).delete()
Comment.objects.all().delete()
Assignment.objects.exclude(owner=None).exclude(owner__username="guru").delete()
User.objects.filter(is_superuser=False).delete()
```
Make local dump of database
```
./bin/dump_local_database.sh
```
Copy local dump to s3 bucket
```
aws s3 cp local.dump s3://skillbox-developer-bucket/
```
Get a presigned url from S3 for the dump (supposedly works from the command line, I had to use the S3 web UI)
```
aws s3 presign s3://skillbox-developer-bucket/local.dump
```
Load backup in heroku
```
heroku pg:backups:restore --app skillbox-preprod 'SIGNED URL' DATABASE_URL
```