Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't upgrade past 2.2.0 - duplicate column abv #266

Closed
toastwerks opened this issue Mar 17, 2024 · 4 comments
Closed

Can't upgrade past 2.2.0 - duplicate column abv #266

toastwerks opened this issue Mar 17, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@toastwerks
Copy link

Describe the bug
I'm trying to upgrade from: Salt Rim: v1.16.0, Bar Assistant: v2.2.0, Meilisearch: 1.2.0 to go to bar assistant 2.6.0 so that I can migrate to 3.0. If I upgrade to 2.4.0, it throws an error about duplicate columns in the logs but continues to load completely. If I go past 2.4.0, the logs stop at that error message and the application fails to load.

To Reproduce
I'm starting at 2.2.0, if I pull 2.3.0 or 2.4.0 it shows the duplicate column error but starts, any 2.5.x or 2.6.0 fails to start.

Versions:

  • Docker: 24.0.4

Additional context, log outputs...
bar-assistant-bar-assistant-1 | Database already exists, running migrations...
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 | INFO Running migrations.
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 | 2023_07_08_184606_add_abv_to_cocktails_table ...................... 4ms FAIL
bar-assistant-bar-assistant-1 | [2024-03-17 19:44:50] production.ERROR: SQLSTATE[HY000]: General error: 1 duplicate column name: abv (Connection: sqlite, SQL: alter table "cocktails" add column "abv" numeric) {"exception":"[object] (Illuminate\Database\QueryException(code: HY000): SQLSTATE[HY000]: General error: 1 duplicate column name: abv (Connection: sqlite, SQL: alter table "cocktails" add column "abv" numeric) at /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Connection.php:795)
bar-assistant-bar-assistant-1 | [stacktrace]
bar-assistant-bar-assistant-1 | #0 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Connection.php(755): Illuminate\Database\Connection->runQueryCallback()
bar-assistant-bar-assistant-1 | #1 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Connection.php(569): Illuminate\Database\Connection->run()
bar-assistant-bar-assistant-1 | #2 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Schema/Blueprint.php(110): Illuminate\Database\Connection->statement()
bar-assistant-bar-assistant-1 | #3 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php(439): Illuminate\Database\Schema\Blueprint->build()
bar-assistant-bar-assistant-1 | #4 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php(269): Illuminate\Database\Schema\Builder->build()
bar-assistant-bar-assistant-1 | #5 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(353): Illuminate\Database\Schema\Builder->table()
bar-assistant-bar-assistant-1 | #6 /var/www/cocktails/database/migrations/2023_07_08_184606_add_abv_to_cocktails_table.php(16): Illuminate\Support\Facades\Facade::__callStatic()
bar-assistant-bar-assistant-1 | #7 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(493): Illuminate\Database\Migrations\Migration@anonymous->up()
bar-assistant-bar-assistant-1 | #8 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(410): Illuminate\Database\Migrations\Migrator->runMethod()
bar-assistant-bar-assistant-1 | #9 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(419): Illuminate\Database\Migrations\Migrator->Illuminate\Database\Migrations\{closure}()
bar-assistant-bar-assistant-1 | #10 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(216): Illuminate\Database\Migrations\Migrator->runMigration()
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 | #11 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Console/View/Components/Task.php(37): Illuminate\Database\Migrations\Migrator->Illuminate\Database\Migrations\{closure}()
bar-assistant-bar-assistant-1 | #12 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(756): Illuminate\Console\View\Components\Task->render()
bar-assistant-bar-assistant-1 | #13 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(216): Illuminate\Database\Migrations\Migrator->write()
bar-assistant-bar-assistant-1 | #14 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(181): Illuminate\Database\Migrations\Migrator->runUp()
bar-assistant-bar-assistant-1 | #15 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(124): Illuminate\Database\Migrations\Migrator->runPending()
bar-assistant-bar-assistant-1 | #16 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(90): Illuminate\Database\Migrations\Migrator->run()
bar-assistant-bar-assistant-1 | #17 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(633): Illuminate\Database\Console\Migrations\MigrateCommand->Illuminate\Database\Console\Migrations\{closure}()
bar-assistant-bar-assistant-1 | #18 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(83): Illuminate\Database\Migrations\Migrator->usingConnection()
bar-assistant-bar-assistant-1 | #19 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Database\Console\Migrations\MigrateCommand->handle()
bar-assistant-bar-assistant-1 | #20 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
bar-assistant-bar-assistant-1 | #21 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
bar-assistant-bar-assistant-1 | #22 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
bar-assistant-bar-assistant-1 | #23 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
bar-assistant-bar-assistant-1 | #24 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
bar-assistant-bar-assistant-1 | #25 /var/www/cocktails/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute()
bar-assistant-bar-assistant-1 | #26 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
bar-assistant-bar-assistant-1 | #27 /var/www/cocktails/vendor/symfony/console/Application.php(1081): Illuminate\Console\Command->run()
bar-assistant-bar-assistant-1 | #28 /var/www/cocktails/vendor/symfony/console/Application.php(320): Symfony\Component\Console\Application->doRunCommand()
bar-assistant-bar-assistant-1 | #29 /var/www/cocktails/vendor/symfony/console/Application.php(174): Symfony\Component\Console\Application->doRun()
bar-assistant-bar-assistant-1 | #30 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
bar-assistant-bar-assistant-1 | #31 /var/www/cocktails/artisan(35): Illuminate\Foundation\Console\Kernel->handle()
bar-assistant-bar-assistant-1 | #32 {main}
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 | [previous exception] [object] (PDOException(code: HY000): SQLSTATE[HY000]: General error: 1 duplicate column name: abv at /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Connection.php:574)
bar-assistant-bar-assistant-1 | [stacktrace]
bar-assistant-bar-assistant-1 | #0 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Connection.php(574): PDO->prepare()
bar-assistant-bar-assistant-1 | #1 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Connection.php(788): Illuminate\Database\Connection->Illuminate\Database\{closure}()
bar-assistant-bar-assistant-1 | #2 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Connection.php(755): Illuminate\Database\Connection->runQueryCallback()
bar-assistant-bar-assistant-1 | #3 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Connection.php(569): Illuminate\Database\Connection->run()
bar-assistant-bar-assistant-1 | #4 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Schema/Blueprint.php(110): Illuminate\Database\Connection->statement()
bar-assistant-bar-assistant-1 | #5 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php(439): Illuminate\Database\Schema\Blueprint->build()
bar-assistant-bar-assistant-1 | #6 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php(269): Illuminate\Database\Schema\Builder->build()
bar-assistant-bar-assistant-1 | #7 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(353): Illuminate\Database\Schema\Builder->table()
bar-assistant-bar-assistant-1 | #8 /var/www/cocktails/database/migrations/2023_07_08_184606_add_abv_to_cocktails_table.php(16): Illuminate\Support\Facades\Facade::__callStatic()
bar-assistant-bar-assistant-1 | #9 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(493): Illuminate\Database\Migrations\Migration@anonymous->up()
bar-assistant-bar-assistant-1 | #10 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(410): Illuminate\Database\Migrations\Migrator->runMethod()
bar-assistant-bar-assistant-1 | #11 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(419): Illuminate\Database\Migrations\Migrator->Illuminate\Database\Migrations\{closure}()
bar-assistant-bar-assistant-1 | #12 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(216): Illuminate\Database\Migrations\Migrator->runMigration()
bar-assistant-bar-assistant-1 | #13 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Console/View/Components/Task.php(37): Illuminate\Database\Migrations\Migrator->Illuminate\Database\Migrations\{closure}()
bar-assistant-bar-assistant-1 | #14 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(756): Illuminate\Console\View\Components\Task->render()
bar-assistant-bar-assistant-1 | #15 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(216): Illuminate\Database\Migrations\Migrator->write()
bar-assistant-bar-assistant-1 | #16 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(181): Illuminate\Database\Migrations\Migrator->runUp()
bar-assistant-bar-assistant-1 | #17 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(124): Illuminate\Database\Migrations\Migrator->runPending()
bar-assistant-bar-assistant-1 | #18 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(90): Illuminate\Database\Migrations\Migrator->run()
bar-assistant-bar-assistant-1 | #19 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(633): Illuminate\Database\Console\Migrations\MigrateCommand->Illuminate\Database\Console\Migrations\{closure}()
bar-assistant-bar-assistant-1 | #20 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(83): Illuminate\Database\Migrations\Migrator->usingConnection()
bar-assistant-bar-assistant-1 | #21 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Database\Console\Migrations\MigrateCommand->handle()
bar-assistant-bar-assistant-1 | #22 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
bar-assistant-bar-assistant-1 | #23 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
bar-assistant-bar-assistant-1 | #24 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
bar-assistant-bar-assistant-1 | #25 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
bar-assistant-bar-assistant-1 | #26 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
bar-assistant-bar-assistant-1 | #27 /var/www/cocktails/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute()
bar-assistant-bar-assistant-1 | #28 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
bar-assistant-bar-assistant-1 | #29 /var/www/cocktails/vendor/symfony/console/Application.php(1081): Illuminate\Console\Command->run()
bar-assistant-bar-assistant-1 | #30 /var/www/cocktails/vendor/symfony/console/Application.php(320): Symfony\Component\Console\Application->doRunCommand()
bar-assistant-bar-assistant-1 | #31 /var/www/cocktails/vendor/symfony/console/Application.php(174): Symfony\Component\Console\Application->doRun()
bar-assistant-bar-assistant-1 | #32 /var/www/cocktails/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
bar-assistant-bar-assistant-1 | #33 /var/www/cocktails/artisan(35): Illuminate\Foundation\Console\Kernel->handle()
bar-assistant-bar-assistant-1 | #34 {main}
bar-assistant-bar-assistant-1 | "}
bar-assistant-bar-assistant-1 | In Connection.php line 795:
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 | SQLSTATE[HY000]: General error: 1 duplicate column name: abv (Connection: s
bar-assistant-bar-assistant-1 | qlite, SQL: alter table "cocktails" add column "abv" numeric)
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 | In Connection.php line 574:
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 | SQLSTATE[HY000]: General error: 1 duplicate column name: abv
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 | Updating search index settings...
bar-assistant-bar-assistant-1 | Syncing cocktails and ingredients to meilisearch...
bar-assistant-bar-assistant-1 | Adding routes and config to cache...
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 | INFO Configuration cached successfully.
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 | INFO Routes cached successfully.
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 | !!
bar-assistant-bar-assistant-1 | ! Application ready !
bar-assistant-bar-assistant-1 | !
!
bar-assistant-bar-assistant-1 | [17-Mar-2024 19:44:55] NOTICE: fpm is running, pid 23
bar-assistant-bar-assistant-1 | [17-Mar-2024 19:44:55] NOTICE: ready to handle connections

@toastwerks toastwerks added the bug Something isn't working label Mar 17, 2024
@karlomikus
Copy link
Owner

I'm guessing your database got updated to 2.3.0 and you've rolled back to older version or something and now migrations are out of sync.

You can try the following:

  1. Backup your database
  2. Use 2.2.0 version and manually delete the abv column:
    docker compose exec bar-assistant sqlite3 storage/bar-assistant/database.sqlite 'ALTER TABLE cocktails DROP COLUMN abv;'
  3. Update to 2.3.0

@toastwerks
Copy link
Author

Thank you for the point in the right direction. Weirdly, from on 2.2.0 I ran the drop column command and got:
Error: in prepare, no such column: "abv"
ALTER TABLE cocktails DROP COLUMN abv;
error here ---^

But then I upgraded to 2.3.0 (and through to 2.6.0) without getting the duplicate column error. Now following the 2.x to 3.x migration instructions, it hangs up loading in the logs and just sits at the following:

bar-assistant-bar-assistant-1 | Starting Bar Assistant, this can take a few minutes depending on the system...
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 | User uid: 1000
bar-assistant-bar-assistant-1 | User gid: 1000
bar-assistant-bar-assistant-1 |
bar-assistant-bar-assistant-1 |

I let it run for a while and it never moved past that point. Still poking at it.

@toastwerks
Copy link
Author

Ok, current situation is that I have it migrated to v2 salt rim and v3 bar assistant, it takes over 5 minutes to completely start up. Which may be normal? Not sure. We can probably close this one unless you want me to test anything.

@karlomikus
Copy link
Owner

Five minutes to start seems long but this depends on you server specs.

@karlomikus karlomikus closed this as not planned Won't fix, can't repro, duplicate, stale Mar 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants