Skip to content

Commit 9b57cb2

Browse files
committed
safeguard against running the migration on already migrated or new databases
fixes #129
1 parent 56b5ee8 commit 9b57cb2

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

appinfo/info.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Mit dem integrierten Dashboard lässt sich anhand eines Kuchen-/Donut-Diagramms
3535

3636
Diese App wird aktuell noch weiterentwickelt, also: Augen offen halten für neue Features! Und falls Dir irgendwelche Verbesserungsvorschläge, Probleme oder neue Features einfallen, schau mal auf unserem [GitHub Projekt](https://github.com/mtierltd/timetracker) vorbei, vielleicht wird Dein Thema bereits diskutiert! Und falls nicht, starte gerne eine neue Diskussion, wir freuen uns auf Dein Feedback!
3737
</description>
38-
<version>0.0.61</version>
38+
<version>0.0.62</version>
3939
<licence>agpl</licence>
4040
<author mail="[email protected]" >MTier Ltd.</author>
4141
<namespace>TimeTracker</namespace>

lib/Migration/Version000000Date20210719124731.php

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,8 @@ public function postSchemaChange(IOutput $output, \Closure $schemaClosure, array
396396
}
397397

398398
protected function moveTimeTrackerWorkIntervalToTag(): void {
399-
if (!$this->connection->tableExists('timetracker_workint_to_tag')) {
399+
if (!$this->connection->tableExists('timetracker_workint_to_tag') ||
400+
!$this->connection->tableExists('timetracker_workinterval_to_tag')) {
400401
return;
401402
}
402403

@@ -409,6 +410,15 @@ protected function moveTimeTrackerWorkIntervalToTag(): void {
409410
'created_at' => $insert->createParameter('created_at'),
410411
]);
411412

413+
$query = $this->connection->getQueryBuilder();
414+
$query->select('*')
415+
->from('timetracker_workint_to_tag');
416+
$result = $query->execute();
417+
if ($result->fetch()) {
418+
$result->closeCursor();
419+
return;
420+
}
421+
412422
$query = $this->connection->getQueryBuilder();
413423
$query->select('*')
414424
->from('timetracker_workinterval_to_tag');
@@ -427,7 +437,8 @@ protected function moveTimeTrackerWorkIntervalToTag(): void {
427437
}
428438

429439
protected function moveTimeTrackerLockedProjectAllowedTag(): void {
430-
if (!$this->connection->tableExists('timetracker_lpa_tags')) {
440+
if (!$this->connection->tableExists('timetracker_lpa_tags') ||
441+
!$this->connection->tableExists('timetracker_locked_project_allowed_tag')) {
431442
return;
432443
}
433444

@@ -440,6 +451,15 @@ protected function moveTimeTrackerLockedProjectAllowedTag(): void {
440451
'created_at' => $insert->createParameter('created_at'),
441452
]);
442453

454+
$query = $this->connection->getQueryBuilder();
455+
$query->select('*')
456+
->from('timetracker_lpa_tags');
457+
$result = $query->execute();
458+
if ($result->fetch()) {
459+
$result->closeCursor();
460+
return;
461+
}
462+
443463
$query = $this->connection->getQueryBuilder();
444464
$query->select('*')
445465
->from('timetracker_locked_project_allowed_tag');

0 commit comments

Comments
 (0)