|
2 | 2 | fromdatetimeimporttimedelta |
3 | 3 | frompathlibimportPath |
4 | 4 | fromrandomimportchoice,randint |
| 5 | +fromshutilimportrmtree |
5 | 6 | fromsubprocessimportrun |
6 | 7 | fromuuidimportuuid4 |
7 | 8 |
|
@@ -172,10 +173,35 @@ class Command(BaseCommand): |
172 | 173 |
|
173 | 174 | defadd_arguments(self,parser): |
174 | 175 | parser.add_argument("user") |
| 176 | +parser.add_argument( |
| 177 | +"--delete-all-existing-data-forever", |
| 178 | +action="store_true", |
| 179 | +help="Delete existing data without warning", |
| 180 | + ) |
175 | 181 |
|
176 | 182 | defhandle(self,*_args,**options): |
177 | 183 | user=User.objects.get(user__username=options["user"]) |
178 | 184 |
|
| 185 | +ifoptions["delete_all_existing_data_forever"]: |
| 186 | +Bucket.objects.all().delete() |
| 187 | +BucketWatch.objects.all().delete() |
| 188 | +Bug.objects.all().delete() |
| 189 | +BugProvider.objects.all().delete() |
| 190 | +BugzillaTemplate.objects.all().delete() |
| 191 | +Client.objects.all().delete() |
| 192 | +Collection.objects.all().delete() |
| 193 | +CollectionFile.objects.all().delete() |
| 194 | +Notification.objects.all().delete() |
| 195 | +OS.objects.all().delete() |
| 196 | +Platform.objects.all().delete() |
| 197 | +Pool.objects.all().delete() |
| 198 | +Product.objects.all().delete() |
| 199 | +Repository.objects.all().delete() |
| 200 | +Task.objects.all().delete() |
| 201 | +Tool.objects.all().delete() |
| 202 | +ifPath("/data/repos/cov-example").exists(): |
| 203 | +rmtree("/data/repos/cov-example") |
| 204 | + |
179 | 205 | # assert that the DB is empty. we don't want real data mixed with test data |
180 | 206 | try: |
181 | 207 | assertnotBucket.objects.exists() |
|