From 945562b34d17aa4acb9a4d877c0f222470002d21 Mon Sep 17 00:00:00 2001 From: Kevin Papst Date: Thu, 14 Nov 2019 01:57:58 +0100 Subject: [PATCH] fixes wrong foreign keys on timesheet_tags join table (#1242) --- src/Migrations/Version20190729162655.php | 4 +- src/Migrations/Version20191113132640.php | 62 +++++++++++++++++++++++ var/data/kimai_test.sqlite | Bin 770048 -> 770048 bytes 3 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 src/Migrations/Version20191113132640.php diff --git a/src/Migrations/Version20190729162655.php b/src/Migrations/Version20190729162655.php index a7f8de7b..f44f1187 100644 --- a/src/Migrations/Version20190729162655.php +++ b/src/Migrations/Version20190729162655.php @@ -15,7 +15,7 @@ use App\Doctrine\AbstractMigration; use Doctrine\DBAL\Schema\Schema; /** - * Creates user team tables. + * Adds missing foreign keys on tag table. * * @version 1.2 */ @@ -23,7 +23,7 @@ final class Version20190729162655 extends AbstractMigration { public function getDescription(): string { - return 'Fixes foreign keys on tag table'; + return 'Adds missing foreign keys on tag table'; } protected function isSupportingForeignKeys(): bool diff --git a/src/Migrations/Version20191113132640.php b/src/Migrations/Version20191113132640.php new file mode 100644 index 00000000..587ffbe9 --- /dev/null +++ b/src/Migrations/Version20191113132640.php @@ -0,0 +1,62 @@ +isPlatformSqlite()) { + // does fail if we use transactions, as tables are re-created and foreign keys would fail + return false; + } + + return true; + } + + public function up(Schema $schema): void + { + $timesheetTags = $schema->getTable('kimai2_timesheet_tags'); + + if ($timesheetTags->hasForeignKey('FK_732EECA9ABDD46BE')) { + $timesheetTags->removeForeignKey('FK_732EECA9ABDD46BE'); + } + $timesheetTags->addForeignKeyConstraint('kimai2_timesheet', ['timesheet_id'], ['id'], ['onDelete' => 'CASCADE'], 'FK_732EECA9ABDD46BE'); + + if ($timesheetTags->hasForeignKey('FK_732EECA9BAD26311')) { + $timesheetTags->removeForeignKey('FK_732EECA9BAD26311'); + } + $timesheetTags->addForeignKeyConstraint('kimai2_tags', ['tag_id'], ['id'], ['onDelete' => 'CASCADE'], 'FK_732EECA9BAD26311'); + } + + public function down(Schema $schema): void + { + } +} diff --git a/var/data/kimai_test.sqlite b/var/data/kimai_test.sqlite index 5939e2e455ee3461a97cde929e4ec33af9612723..f2461d150e453353b4e2bb8c04e56945258d529d 100644 GIT binary patch delta 500 zcmY+;PiPZC6bA5lZ+5e@N%l|MXpK$Hrfp&)X1kL$N(vRP6|s0Ky%kS_sAxeE1$Swx z)`P|tor`)bcu=s`&P7iK6%@(EKgTMF(0Ff4FHXIA_`!Q0eDFolNED4U`?}@`A+MDI z7Z4PQp}C_m$agM{GM_(hRH!!-XMz0S9131}-!}J|Dz+kYhdYK1Z__ z6Gi|WE%vhDeNLB#va}pl177ExhditvJ{0VH70xR>^s0QcdSo=LOMeW$BF)+*VH{I! zyQJEGte$RKhX2c1Sw9I2Z>@c5Sih1}`sDX6EZdcxt*}L$DJNq;v4^d5mY05<&Zo|# za>+-@JgXT`4M<$jH((1|()aKq$U7Z+S(Ec?^c~1n0oOtH591Ggxy?MuBG{Z*USsaR zD}S?%t8EJIpxGienIz^ZBcHggf74HEU$kqqfg3nOCUL*haB#8Uh1%?iI3r&b@e|PT zc$bKM92bl0v>~7Uq-Rkc|4rY3-1Cc8QS^4`j7ErlRNn2-OPWxFKF}L+??WGJ;(QVJ yiU}VBdNtlH>O~dRd==d;;(?_Iyrm|%t4(0;Ef#2st|SygVT!3FB@0rU_x=I}#Dj7G delta 517 zcmXxgO=uHQ5CGseZ+5e9v&sH6g~qlqn_5C_%ug#-QV8h5gW4KAiB&{IJlKQAh@gdb zON%jDFdE7O+jCDU7_skC@la8)J>*n8)_@cXlABfv;%mTx4~Bu6VaD?^o|mciI8%g> zRjE%Z5(24bM~=eOo2v_!Pm!gL+p~KX-?KnR2lHIBpDEenHhWA3kjNatabV%W@a?L@l9iZP-I$h%Ge%I=LSEPlE zUv6Q7p1#AQNqUHnH8Czf0msD25DY=R!Cb*S*e%qznBC5z4;yr)fnaB7fmozMU=4am z#d>5sHoDX>yRLoE&L~fmK^&p4{55%fJAAoX%)KaX#px$dbd6l$xda^-zneHgMRXg7 zsJQkW--98S&ud-DB$Nv^OB>_S9qbp2+h_wXHF1ug|A8g(Cr0ln%O1GPRj^m8!0a;1 UDv~PsBu!$HF8Kw^8oN*b0oE#wUH||9