Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Bug]: table ids mix string and integer usages #2048

@AEnterprise

Description

@AEnterprise

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:

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions