[GH-ISSUE #1291] Exception when sync with tags #741

Closed
opened 2026-02-26 02:34:08 +03:00 by kerem · 1 comment
Owner

Originally created by @jondoe1337 on GitHub (Mar 11, 2021).
Original GitHub issue: https://github.com/koel/koel/issues/1291

Describe the bug
This is more a question - I see the following exception with verbose output for the sync action. Is this of any importance?

I'm currently trying to fix a few compilations I have and tried various approaches for the tag cleanup.

I know this should be solved in another issue, but what is the correct approach to tag a compilation?
Set AlbumArtistTag for the actual artist of the song and set the ArtistTag to "Various"?

Anyways, I tried to do the sync below, then got the exception. Not sure if I better should resync?

To reproduce
Steps to reproduce the behavior:

  1. php artisan koel:sync -vv --tags=artist,compilation
  2. See the error

Expected behavior
Maybe the exception should not happen?

In Connection.php line 678:

  [Illuminate\Database\QueryException (23000)]
  SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`koel`.`songs`, CONSTRAINT `songs_album_id_foreign` FOREIGN KEY (`album_id`) REFERENCES `albums` (`id`)) (SQL: delete from `artists` where `i
  d` not in (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 6
  8, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 12
  8, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 18
  1, 182, 183, 184, 185, 186, 187, 191, 193, 194, 198, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 24
  3, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 29
  6, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 34
  9, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 40
  2, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 45
  5, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 50
  8, 509, 510, 511, 512, 513, 514, 515, 516, 517, 519, 520, 523, 524, 525, 1, 2))


Exception trace:
  at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:678
 Illuminate\Database\Connection->runQueryCallback() at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:638
 Illuminate\Database\Connection->run() at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:503
 Illuminate\Database\Connection->affectingStatement() at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:448
 Illuminate\Database\Connection->delete() at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:3033
 Illuminate\Database\Query\Builder->delete() at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:957
 Illuminate\Database\Eloquent\Builder->delete() at /var/www/html/app/Traits/SupportsDeleteWhereIDsNotIn.php:35
 App\Models\Artist::deleteWhereIDsNotIn() at /var/www/html/app/Services/MediaSyncService.php:221
 App\Services\MediaSyncService->tidy() at /var/www/html/app/Listeners/TidyLibrary.php:22
 App\Listeners\TidyLibrary->handle() at /var/www/html/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php:411
 Illuminate\Events\Dispatcher->Illuminate\Events\{closure}() at /var/www/html/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php:236
 Illuminate\Events\Dispatcher->dispatch() at /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:432
 event() at /var/www/html/app/Services/MediaSyncService.php:142
 App\Services\MediaSyncService->sync() at /var/www/html/app/Console/Commands/SyncCommand.php:70
 App\Console\Commands\SyncCommand->syncAll() at /var/www/html/app/Console/Commands/SyncCommand.php:48
 App\Console\Commands\SyncCommand->handle() at /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
 Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() at /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php:40
 Illuminate\Container\Util::unwrapIfClosure() at /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93
 Illuminate\Container\BoundMethod::callBoundMethod() at /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:37
 Illuminate\Container\BoundMethod::call() at /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php:610
 Illuminate\Container\Container->call() at /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php:136
 Illuminate\Console\Command->execute() at /var/www/html/vendor/symfony/console/Command/Command.php:255
 Symfony\Component\Console\Command\Command->run() at /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php:121
 Illuminate\Console\Command->run() at /var/www/html/vendor/symfony/console/Application.php:971
 Symfony\Component\Console\Application->doRunCommand() at /var/www/html/vendor/symfony/console/Application.php:290
 Symfony\Component\Console\Application->doRun() at /var/www/html/vendor/symfony/console/Application.php:166
 Symfony\Component\Console\Application->run() at /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Application.php:93
 Illuminate\Console\Application->run() at /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:129
 Illuminate\Foundation\Console\Kernel->handle() at /var/www/html/artisan:35

Environment

  • Koel version: 5.0.2
  • OS: macOS BigSur
  • Browser: Firefox 86.0 (64-bit)
  • PHP version: 8.0.3
  • Node version: ?

Addititional Info
Using the latest docker image hyzual/koel in a docker-compose installation.

Originally created by @jondoe1337 on GitHub (Mar 11, 2021). Original GitHub issue: https://github.com/koel/koel/issues/1291 **Describe the bug** This is more a question - I see the following exception with verbose output for the sync action. Is this of any importance? I'm currently trying to fix a few compilations I have and tried various approaches for the tag cleanup. I know this should be solved in another issue, but what is the correct approach to tag a compilation? Set AlbumArtistTag for the actual artist of the song and set the ArtistTag to "Various"? Anyways, I tried to do the sync below, then got the exception. Not sure if I better should resync? **To reproduce** Steps to reproduce the behavior: 1. php artisan koel:sync -vv --tags=artist,compilation 2. See the error **Expected behavior** Maybe the exception should not happen? ``` In Connection.php line 678: [Illuminate\Database\QueryException (23000)] SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`koel`.`songs`, CONSTRAINT `songs_album_id_foreign` FOREIGN KEY (`album_id`) REFERENCES `albums` (`id`)) (SQL: delete from `artists` where `i d` not in (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 6 8, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 12 8, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 18 1, 182, 183, 184, 185, 186, 187, 191, 193, 194, 198, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 24 3, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 29 6, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 34 9, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 40 2, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 45 5, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 50 8, 509, 510, 511, 512, 513, 514, 515, 516, 517, 519, 520, 523, 524, 525, 1, 2)) Exception trace: at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:678 Illuminate\Database\Connection->runQueryCallback() at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:638 Illuminate\Database\Connection->run() at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:503 Illuminate\Database\Connection->affectingStatement() at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:448 Illuminate\Database\Connection->delete() at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:3033 Illuminate\Database\Query\Builder->delete() at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:957 Illuminate\Database\Eloquent\Builder->delete() at /var/www/html/app/Traits/SupportsDeleteWhereIDsNotIn.php:35 App\Models\Artist::deleteWhereIDsNotIn() at /var/www/html/app/Services/MediaSyncService.php:221 App\Services\MediaSyncService->tidy() at /var/www/html/app/Listeners/TidyLibrary.php:22 App\Listeners\TidyLibrary->handle() at /var/www/html/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php:411 Illuminate\Events\Dispatcher->Illuminate\Events\{closure}() at /var/www/html/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php:236 Illuminate\Events\Dispatcher->dispatch() at /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:432 event() at /var/www/html/app/Services/MediaSyncService.php:142 App\Services\MediaSyncService->sync() at /var/www/html/app/Console/Commands/SyncCommand.php:70 App\Console\Commands\SyncCommand->syncAll() at /var/www/html/app/Console/Commands/SyncCommand.php:48 App\Console\Commands\SyncCommand->handle() at /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36 Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() at /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php:40 Illuminate\Container\Util::unwrapIfClosure() at /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93 Illuminate\Container\BoundMethod::callBoundMethod() at /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:37 Illuminate\Container\BoundMethod::call() at /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php:610 Illuminate\Container\Container->call() at /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php:136 Illuminate\Console\Command->execute() at /var/www/html/vendor/symfony/console/Command/Command.php:255 Symfony\Component\Console\Command\Command->run() at /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php:121 Illuminate\Console\Command->run() at /var/www/html/vendor/symfony/console/Application.php:971 Symfony\Component\Console\Application->doRunCommand() at /var/www/html/vendor/symfony/console/Application.php:290 Symfony\Component\Console\Application->doRun() at /var/www/html/vendor/symfony/console/Application.php:166 Symfony\Component\Console\Application->run() at /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Application.php:93 Illuminate\Console\Application->run() at /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:129 Illuminate\Foundation\Console\Kernel->handle() at /var/www/html/artisan:35 ``` **Environment** - Koel version: 5.0.2 - OS: macOS BigSur - Browser: Firefox 86.0 (64-bit) - PHP version: 8.0.3 - Node version: ? **Addititional Info** Using the latest docker image hyzual/koel in a docker-compose installation.
kerem closed this issue 2026-02-26 02:34:08 +03:00
Author
Owner

@warpdesign commented on GitHub (Feb 13, 2022):

I am getting the same error.

<!-- gh-comment-id:1038243577 --> @warpdesign commented on GitHub (Feb 13, 2022): I am getting the same error.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/koel-koel#741
No description provided.