[GH-ISSUE #2048] [Bug]: table ids mix string and integer usages #1083

Closed
opened 2026-02-26 02:35:10 +03:00 by kerem · 5 comments
Owner

Originally created by @AEnterprise on GitHub (Aug 15, 2025).
Original GitHub issue: https://github.com/koel/koel/issues/2048

Originally assigned to: @phanan on GitHub.

Read the Troubleshooting guide.

  • I have read and followed the Troubleshooting guide

Reproduction steps

  1. Try to run koel:init with an empty postgres 16 database

Expected behavior

Koel to be able to run the migrations and seed initial data

Actual behavior

Koel fails to seed initial data because postgres now checks more strictly against implicit conversions

also related: when trying to run init again think the seeding already happened even though it failed, causing it to leave the database in a corrupted state

Logs

[2025-08-15 10:40:59] production.ERROR: PDOException: SQLSTATE[42804]: Datatype mismatch: 7 ERROR: COALESCE types text and integer cannot be matched
LINE 1: ...rial_sequence('artists', 'id'), coalesce(max(id), 0) + 1, fa...
^ in /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:571
Stack trace:
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(571): PDOStatement->execute()
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(812): Illuminate\Database\Connection->{closure:Illuminate\Database\Connection::statement():560}()
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(779): Illuminate\Database\Connection->runQueryCallback()
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(560): Illuminate\Database\Connection->run()
#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(495): Illuminate\Database\Connection->statement()
#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(361): Illuminate\Database\DatabaseManager->__call()
#6 /var/www/html/database/seeders/ArtistTableSeeder.php(18): Illuminate\Support\Facades\Facade::__callStatic()
#7 /var/www/html/database/seeders/ArtistTableSeeder.php(12): Database\Seeders\ArtistTableSeeder::maybeResetPgsqlSerialValue()
#8 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Database\Seeders\ArtistTableSeeder->run()
#9 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}()
#10 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure()
#11 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#12 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call()
#13 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(188): Illuminate\Container\Container->call()
#14 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(197): Illuminate\Database\Seeder->{closure:Illuminate\Database\Seeder::__invoke():187}()
#15 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(61): Illuminate\Database\Seeder->__invoke()
#16 /var/www/html/database/seeders/DatabaseSeeder.php(14): Illuminate\Database\Seeder->call()
#17 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Database\Seeders\DatabaseSeeder->run()
#18 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}()
#19 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure()
#20 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#21 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call()
#22 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(188): Illuminate\Container\Container->call()
#23 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(197): Illuminate\Database\Seeder->{closure:Illuminate\Database\Seeder::__invoke():187}()
#24 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(70): Illuminate\Database\Seeder->__invoke()
#25 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php(155): Illuminate\Database\Console\Seeds\SeedCommand->{closure:Illuminate\Database\Console\Seeds\SeedCommand::handle():69}()
#26 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(69): Illuminate\Database\Eloquent\Model::unguarded()
#27 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Database\Console\Seeds\SeedCommand->handle()
#28 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}()
#29 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure()
#30 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#31 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call()
#32 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\Container\Container->call()
#33 /var/www/html/vendor/symfony/console/Command/Command.php(318): Illuminate\Console\Command->execute()
#34 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\Component\Console\Command\Command->run()
#35 /var/www/html/vendor/symfony/console/Application.php(1092): Illuminate\Console\Command->run()
#36 /var/www/html/vendor/symfony/console/Application.php(341): Symfony\Component\Console\Application->doRunCommand()
#37 /var/www/html/vendor/symfony/console/Application.php(192): Symfony\Component\Console\Application->doRun()
#38 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Application.php(166): Symfony\Component\Console\Application->run()
#39 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(427): Illuminate\Console\Application->call()
#40 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(361): Illuminate\Foundation\Console\Kernel->call()
#41 /var/www/html/app/Console/Commands/InitCommand.php(208): Illuminate\Support\Facades\Facade::__callStatic()
#42 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/View/Components/Task.php(40): App\Console\Commands\InitCommand::{closure:App\Console\Commands\InitCommand::maybeSeedDatabase():207}()
#43 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/View/Components/Factory.php(60): Illuminate\Console\View\Components\Task->render()
#44 /var/www/html/app/Console/Commands/InitCommand.php(207): Illuminate\Console\View\Components\Factory->__call()
#45 /var/www/html/app/Console/Commands/InitCommand.php(57): App\Console\Commands\InitCommand->maybeSeedDatabase()
#46 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Console\Commands\InitCommand->handle()
#47 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}()
#48 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure()
#49 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#50 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call()
#51 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\Container\Container->call()
#52 /var/www/html/vendor/symfony/console/Command/Command.php(318): Illuminate\Console\Command->execute()
#53 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\Component\Console\Command\Command->run()
#54 /var/www/html/vendor/symfony/console/Application.php(1092): Illuminate\Console\Command->run()
#55 /var/www/html/vendor/symfony/console/Application.php(341): Symfony\Component\Console\Application->doRunCommand()
#56 /var/www/html/vendor/symfony/console/Application.php(192): Symfony\Component\Console\Application->doRun()
#57 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\Component\Console\Application->run()
#58 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1235): Illuminate\Foundation\Console\Kernel->handle()
#59 /var/www/html/artisan(16): Illuminate\Foundation\Application->handleCommand()
#60 {main}

Next Illuminate\Database\QueryException: SQLSTATE[42804]: Datatype mismatch: 7 ERROR: COALESCE types text and integer cannot be matched
LINE 1: ...rial_sequence('artists', 'id'), coalesce(max(id), 0) + 1, fa...
^ (Connection: pgsql, SQL: SELECT setval(pg_get_serial_sequence('artists', 'id'), coalesce(max(id), 0) + 1, false) FROM artists) in /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:825
Stack trace:
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(779): Illuminate\Database\Connection->runQueryCallback()
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(560): Illuminate\Database\Connection->run()
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(495): Illuminate\Database\Connection->statement()
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(361): Illuminate\Database\DatabaseManager->__call()
#4 /var/www/html/database/seeders/ArtistTableSeeder.php(18): Illuminate\Support\Facades\Facade::__callStatic()
#5 /var/www/html/database/seeders/ArtistTableSeeder.php(12): Database\Seeders\ArtistTableSeeder::maybeResetPgsqlSerialValue()
#6 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Database\Seeders\ArtistTableSeeder->run()
#7 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}()
#8 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure()
#9 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#10 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call()
#11 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(188): Illuminate\Container\Container->call()
#12 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(197): Illuminate\Database\Seeder->{closure:Illuminate\Database\Seeder::__invoke():187}()
#13 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(61): Illuminate\Database\Seeder->__invoke()
#14 /var/www/html/database/seeders/DatabaseSeeder.php(14): Illuminate\Database\Seeder->call()
#15 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Database\Seeders\DatabaseSeeder->run()
#16 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}()
#17 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure()
#18 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#19 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call()
#20 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(188): Illuminate\Container\Container->call()
#21 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(197): Illuminate\Database\Seeder->{closure:Illuminate\Database\Seeder::__invoke():187}()
#22 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(70): Illuminate\Database\Seeder->__invoke()
#23 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php(155): Illuminate\Database\Console\Seeds\SeedCommand->{closure:Illuminate\Database\Console\Seeds\SeedCommand::handle():69}()
#24 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(69): Illuminate\Database\Eloquent\Model::unguarded()
#25 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Database\Console\Seeds\SeedCommand->handle()
#26 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}()
#27 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure()
#28 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#29 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call()
#30 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\Container\Container->call()
#31 /var/www/html/vendor/symfony/console/Command/Command.php(318): Illuminate\Console\Command->execute()
#32 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\Component\Console\Command\Command->run()
#33 /var/www/html/vendor/symfony/console/Application.php(1092): Illuminate\Console\Command->run()
#34 /var/www/html/vendor/symfony/console/Application.php(341): Symfony\Component\Console\Application->doRunCommand()
#35 /var/www/html/vendor/symfony/console/Application.php(192): Symfony\Component\Console\Application->doRun()
#36 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Application.php(166): Symfony\Component\Console\Application->run()
#37 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(427): Illuminate\Console\Application->call()
#38 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(361): Illuminate\Foundation\Console\Kernel->call()
#39 /var/www/html/app/Console/Commands/InitCommand.php(208): Illuminate\Support\Facades\Facade::__callStatic()
#40 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/View/Components/Task.php(40): App\Console\Commands\InitCommand::{closure:App\Console\Commands\InitCommand::maybeSeedDatabase():207}()
#41 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/View/Components/Factory.php(60): Illuminate\Console\View\Components\Task->render()
#42 /var/www/html/app/Console/Commands/InitCommand.php(207): Illuminate\Console\View\Components\Factory->__call()
#43 /var/www/html/app/Console/Commands/InitCommand.php(57): App\Console\Commands\InitCommand->maybeSeedDatabase()
#44 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Console\Commands\InitCommand->handle()
#45 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}()
#46 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure()
#47 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#48 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call()
#49 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\Container\Container->call()
#50 /var/www/html/vendor/symfony/console/Command/Command.php(318): Illuminate\Console\Command->execute()
#51 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\Component\Console\Command\Command->run()
#52 /var/www/html/vendor/symfony/console/Application.php(1092): Illuminate\Console\Command->run()
#53 /var/www/html/vendor/symfony/console/Application.php(341): Symfony\Component\Console\Application->doRunCommand()
#54 /var/www/html/vendor/symfony/console/Application.php(192): Symfony\Component\Console\Application->doRun()
#55 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\Component\Console\Application->run()
#56 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1235): Illuminate\Foundation\Console\Kernel->handle()
#57 /var/www/html/artisan(16): Illuminate\Foundation\Application->handleCommand()
#58 {main}

Koel version

latest docker tag, koel doesn't start to check its exact version number

How did you install Koel?

Official Docker image

Additional information

  • Server OS: Unraid
  • PHP version: Official docer image
  • Database: PostgreSQL 16.9
  • Node version: Official docer image
  • Browser & device: N/A, doesn't get that far
  • Additional context:
Originally created by @AEnterprise on GitHub (Aug 15, 2025). Original GitHub issue: https://github.com/koel/koel/issues/2048 Originally assigned to: @phanan on GitHub. ### Read the Troubleshooting guide. - [x] I have read and followed the Troubleshooting guide ### Reproduction steps 1. Try to run koel:init with an empty postgres 16 database ### Expected behavior Koel to be able to run the migrations and seed initial data ### Actual behavior Koel fails to seed initial data because postgres now checks more strictly against implicit conversions also related: when trying to run init again think the seeding already happened even though it failed, causing it to leave the database in a corrupted state ### Logs [2025-08-15 10:40:59] production.ERROR: PDOException: SQLSTATE[42804]: Datatype mismatch: 7 ERROR: COALESCE types text and integer cannot be matched LINE 1: ...rial_sequence('artists', 'id'), coalesce(max(id), 0) + 1, fa... ^ in /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:571 Stack trace: #0 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(571): PDOStatement->execute() #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(812): Illuminate\Database\Connection->{closure:Illuminate\Database\Connection::statement():560}() #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(779): Illuminate\Database\Connection->runQueryCallback() #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(560): Illuminate\Database\Connection->run() #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(495): Illuminate\Database\Connection->statement() #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(361): Illuminate\Database\DatabaseManager->__call() #6 /var/www/html/database/seeders/ArtistTableSeeder.php(18): Illuminate\Support\Facades\Facade::__callStatic() #7 /var/www/html/database/seeders/ArtistTableSeeder.php(12): Database\Seeders\ArtistTableSeeder::maybeResetPgsqlSerialValue() #8 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Database\Seeders\ArtistTableSeeder->run() #9 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}() #10 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure() #11 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod() #12 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call() #13 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(188): Illuminate\Container\Container->call() #14 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(197): Illuminate\Database\Seeder->{closure:Illuminate\Database\Seeder::__invoke():187}() #15 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(61): Illuminate\Database\Seeder->__invoke() #16 /var/www/html/database/seeders/DatabaseSeeder.php(14): Illuminate\Database\Seeder->call() #17 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Database\Seeders\DatabaseSeeder->run() #18 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}() #19 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure() #20 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod() #21 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call() #22 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(188): Illuminate\Container\Container->call() #23 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(197): Illuminate\Database\Seeder->{closure:Illuminate\Database\Seeder::__invoke():187}() #24 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(70): Illuminate\Database\Seeder->__invoke() #25 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php(155): Illuminate\Database\Console\Seeds\SeedCommand->{closure:Illuminate\Database\Console\Seeds\SeedCommand::handle():69}() #26 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(69): Illuminate\Database\Eloquent\Model::unguarded() #27 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Database\Console\Seeds\SeedCommand->handle() #28 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}() #29 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure() #30 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod() #31 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call() #32 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\Container\Container->call() #33 /var/www/html/vendor/symfony/console/Command/Command.php(318): Illuminate\Console\Command->execute() #34 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\Component\Console\Command\Command->run() #35 /var/www/html/vendor/symfony/console/Application.php(1092): Illuminate\Console\Command->run() #36 /var/www/html/vendor/symfony/console/Application.php(341): Symfony\Component\Console\Application->doRunCommand() #37 /var/www/html/vendor/symfony/console/Application.php(192): Symfony\Component\Console\Application->doRun() #38 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Application.php(166): Symfony\Component\Console\Application->run() #39 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(427): Illuminate\Console\Application->call() #40 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(361): Illuminate\Foundation\Console\Kernel->call() #41 /var/www/html/app/Console/Commands/InitCommand.php(208): Illuminate\Support\Facades\Facade::__callStatic() #42 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/View/Components/Task.php(40): App\Console\Commands\InitCommand::{closure:App\Console\Commands\InitCommand::maybeSeedDatabase():207}() #43 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/View/Components/Factory.php(60): Illuminate\Console\View\Components\Task->render() #44 /var/www/html/app/Console/Commands/InitCommand.php(207): Illuminate\Console\View\Components\Factory->__call() #45 /var/www/html/app/Console/Commands/InitCommand.php(57): App\Console\Commands\InitCommand->maybeSeedDatabase() #46 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Console\Commands\InitCommand->handle() #47 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}() #48 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure() #49 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod() #50 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call() #51 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\Container\Container->call() #52 /var/www/html/vendor/symfony/console/Command/Command.php(318): Illuminate\Console\Command->execute() #53 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\Component\Console\Command\Command->run() #54 /var/www/html/vendor/symfony/console/Application.php(1092): Illuminate\Console\Command->run() #55 /var/www/html/vendor/symfony/console/Application.php(341): Symfony\Component\Console\Application->doRunCommand() #56 /var/www/html/vendor/symfony/console/Application.php(192): Symfony\Component\Console\Application->doRun() #57 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\Component\Console\Application->run() #58 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1235): Illuminate\Foundation\Console\Kernel->handle() #59 /var/www/html/artisan(16): Illuminate\Foundation\Application->handleCommand() #60 {main} Next Illuminate\Database\QueryException: SQLSTATE[42804]: Datatype mismatch: 7 ERROR: COALESCE types text and integer cannot be matched LINE 1: ...rial_sequence('artists', 'id'), coalesce(max(id), 0) + 1, fa... ^ (Connection: pgsql, SQL: SELECT setval(pg_get_serial_sequence('artists', 'id'), coalesce(max(id), 0) + 1, false) FROM artists) in /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:825 Stack trace: #0 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(779): Illuminate\Database\Connection->runQueryCallback() #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(560): Illuminate\Database\Connection->run() #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(495): Illuminate\Database\Connection->statement() #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(361): Illuminate\Database\DatabaseManager->__call() #4 /var/www/html/database/seeders/ArtistTableSeeder.php(18): Illuminate\Support\Facades\Facade::__callStatic() #5 /var/www/html/database/seeders/ArtistTableSeeder.php(12): Database\Seeders\ArtistTableSeeder::maybeResetPgsqlSerialValue() #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Database\Seeders\ArtistTableSeeder->run() #7 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}() #8 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure() #9 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod() #10 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call() #11 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(188): Illuminate\Container\Container->call() #12 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(197): Illuminate\Database\Seeder->{closure:Illuminate\Database\Seeder::__invoke():187}() #13 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(61): Illuminate\Database\Seeder->__invoke() #14 /var/www/html/database/seeders/DatabaseSeeder.php(14): Illuminate\Database\Seeder->call() #15 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Database\Seeders\DatabaseSeeder->run() #16 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}() #17 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure() #18 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod() #19 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call() #20 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(188): Illuminate\Container\Container->call() #21 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(197): Illuminate\Database\Seeder->{closure:Illuminate\Database\Seeder::__invoke():187}() #22 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(70): Illuminate\Database\Seeder->__invoke() #23 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php(155): Illuminate\Database\Console\Seeds\SeedCommand->{closure:Illuminate\Database\Console\Seeds\SeedCommand::handle():69}() #24 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(69): Illuminate\Database\Eloquent\Model::unguarded() #25 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Database\Console\Seeds\SeedCommand->handle() #26 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}() #27 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure() #28 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod() #29 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call() #30 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\Container\Container->call() #31 /var/www/html/vendor/symfony/console/Command/Command.php(318): Illuminate\Console\Command->execute() #32 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\Component\Console\Command\Command->run() #33 /var/www/html/vendor/symfony/console/Application.php(1092): Illuminate\Console\Command->run() #34 /var/www/html/vendor/symfony/console/Application.php(341): Symfony\Component\Console\Application->doRunCommand() #35 /var/www/html/vendor/symfony/console/Application.php(192): Symfony\Component\Console\Application->doRun() #36 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Application.php(166): Symfony\Component\Console\Application->run() #37 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(427): Illuminate\Console\Application->call() #38 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(361): Illuminate\Foundation\Console\Kernel->call() #39 /var/www/html/app/Console/Commands/InitCommand.php(208): Illuminate\Support\Facades\Facade::__callStatic() #40 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/View/Components/Task.php(40): App\Console\Commands\InitCommand::{closure:App\Console\Commands\InitCommand::maybeSeedDatabase():207}() #41 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/View/Components/Factory.php(60): Illuminate\Console\View\Components\Task->render() #42 /var/www/html/app/Console/Commands/InitCommand.php(207): Illuminate\Console\View\Components\Factory->__call() #43 /var/www/html/app/Console/Commands/InitCommand.php(57): App\Console\Commands\InitCommand->maybeSeedDatabase() #44 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Console\Commands\InitCommand->handle() #45 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::{closure:Illuminate\Container\BoundMethod::call():35}() #46 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure() #47 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod() #48 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\Container\BoundMethod::call() #49 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\Container\Container->call() #50 /var/www/html/vendor/symfony/console/Command/Command.php(318): Illuminate\Console\Command->execute() #51 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\Component\Console\Command\Command->run() #52 /var/www/html/vendor/symfony/console/Application.php(1092): Illuminate\Console\Command->run() #53 /var/www/html/vendor/symfony/console/Application.php(341): Symfony\Component\Console\Application->doRunCommand() #54 /var/www/html/vendor/symfony/console/Application.php(192): Symfony\Component\Console\Application->doRun() #55 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\Component\Console\Application->run() #56 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1235): Illuminate\Foundation\Console\Kernel->handle() #57 /var/www/html/artisan(16): Illuminate\Foundation\Application->handleCommand() #58 {main} ### Koel version latest docker tag, koel doesn't start to check its exact version number ### How did you install Koel? Official Docker image ### Additional information - **Server OS**: Unraid - **PHP version**: Official docer image - **Database**: PostgreSQL 16.9 - **Node version**: Official docer image - **Browser & device**: N/A, doesn't get that far - **Additional context**:
kerem closed this issue 2026-02-26 02:35:11 +03:00
Author
Owner

@phanan commented on GitHub (Aug 15, 2025):

Thanks for reporting. The quickest fix right now, I think, is to use a
lower Postgres version.

On Fri, Aug 15, 2025 at 12:53 AEnterprise @.***> wrote:

Assigned #2048 https://github.com/koel/koel/issues/2048 to @phanan
https://github.com/phanan.


Reply to this email directly, view it on GitHub
https://github.com/koel/koel/issues/2048#event-19174569415, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AB5O3US7HJWMWU63C3UN7RD3NW3ZBAVCNFSM6AAAAACD7GAW42VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJZGE3TINJWHE2DCNI
.
You are receiving this because you were assigned.Message ID:
@.***>

<!-- gh-comment-id:3191261584 --> @phanan commented on GitHub (Aug 15, 2025): Thanks for reporting. The quickest fix right now, I think, is to use a lower Postgres version. On Fri, Aug 15, 2025 at 12:53 AEnterprise ***@***.***> wrote: > Assigned #2048 <https://github.com/koel/koel/issues/2048> to @phanan > <https://github.com/phanan>. > > — > Reply to this email directly, view it on GitHub > <https://github.com/koel/koel/issues/2048#event-19174569415>, or > unsubscribe > <https://github.com/notifications/unsubscribe-auth/AB5O3US7HJWMWU63C3UN7RD3NW3ZBAVCNFSM6AAAAACD7GAW42VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJZGE3TINJWHE2DCNI> > . > You are receiving this because you were assigned.Message ID: > ***@***.***> >
Author
Owner

@phanan commented on GitHub (Aug 15, 2025):

Also I think the artist/album seeders are obsolete now and should be
removed. Do you think you can send over a PR?

On Fri, Aug 15, 2025 at 13:05 An Phan @.***> wrote:

Thanks for reporting. The quickest fix right now, I think, is to use a
lower Postgres version.

On Fri, Aug 15, 2025 at 12:53 AEnterprise @.***>
wrote:

Assigned #2048 https://github.com/koel/koel/issues/2048 to @phanan
https://github.com/phanan.


Reply to this email directly, view it on GitHub
https://github.com/koel/koel/issues/2048#event-19174569415, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AB5O3US7HJWMWU63C3UN7RD3NW3ZBAVCNFSM6AAAAACD7GAW42VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJZGE3TINJWHE2DCNI
.
You are receiving this because you were assigned.Message ID:
@.***>

<!-- gh-comment-id:3191266267 --> @phanan commented on GitHub (Aug 15, 2025): Also I think the artist/album seeders are obsolete now and should be removed. Do you think you can send over a PR? On Fri, Aug 15, 2025 at 13:05 An Phan ***@***.***> wrote: > Thanks for reporting. The quickest fix right now, I think, is to use a > lower Postgres version. > > On Fri, Aug 15, 2025 at 12:53 AEnterprise ***@***.***> > wrote: > >> Assigned #2048 <https://github.com/koel/koel/issues/2048> to @phanan >> <https://github.com/phanan>. >> >> — >> Reply to this email directly, view it on GitHub >> <https://github.com/koel/koel/issues/2048#event-19174569415>, or >> unsubscribe >> <https://github.com/notifications/unsubscribe-auth/AB5O3US7HJWMWU63C3UN7RD3NW3ZBAVCNFSM6AAAAACD7GAW42VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJZGE3TINJWHE2DCNI> >> . >> You are receiving this because you were assigned.Message ID: >> ***@***.***> >> >
Author
Owner

@AEnterprise commented on GitHub (Aug 15, 2025):

Looks like you already did, but the issue is more a symptom of bad column usage. Downgrading works but imlicit conversions are not great. It is bad for performance and can have unintended side effects. indexes being strings can make searches less efficient as well so it might be best to look into migrating it to integers. i can probably add a migrator for that.

Also i don't know what postgres version adds the more strict requirements, but postgres 13 goes EOL in just a few months so this isn't a viable solution for much longer

<!-- gh-comment-id:3191321874 --> @AEnterprise commented on GitHub (Aug 15, 2025): Looks like you already did, but the issue is more a symptom of bad column usage. Downgrading works but imlicit conversions are not great. It is bad for performance and can have unintended side effects. indexes being strings can make searches less efficient as well so it might be best to look into migrating it to integers. i can probably add a migrator for that. Also i don't know what postgres version adds the more strict requirements, but postgres 13 goes EOL in just a few months so this isn't a viable solution for much longer
Author
Owner

@phanan commented on GitHub (Aug 15, 2025):

I totally agree regarding implicit conversions, but it's not the issue here. Rather, Koel's first versions use integers for artist/album IDs, and the seeders (where the error is from) are catered to that usage. Later versions of Koel migrated to string (ULID) types, and such seeders became obsolete. It was just undiscovered due to Postgres silently ignoring the conversion. There are no other implicit conversions in the codebase (as far as I'm aware of).

<!-- gh-comment-id:3191330155 --> @phanan commented on GitHub (Aug 15, 2025): I totally agree regarding implicit conversions, but it's not the issue here. Rather, Koel's first versions use integers for artist/album IDs, and the seeders (where the error is from) are catered to that usage. Later versions of Koel migrated to string (ULID) types, and such seeders became obsolete. It was just undiscovered due to Postgres silently ignoring the conversion. There are no other implicit conversions in the codebase (as far as I'm aware of).
Author
Owner

@AEnterprise commented on GitHub (Aug 15, 2025):

tested this against the 7.12 release and this resolved the issue. koel now runs without issues againt postgres 16

<!-- gh-comment-id:3191791255 --> @AEnterprise commented on GitHub (Aug 15, 2025): tested this against the 7.12 release and this resolved the issue. koel now runs without issues againt postgres 16
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#1083
No description provided.