wallabag / docker

Official docker-composer for wallabag.
608 stars 153 forks source link

Database table missing (wallabag_internal_setting) when populating database #377

Open devtobi opened 1 year ago

devtobi commented 1 year ago

Environment

My app/config/parameters.yml is: ``` parameters: database_driver: pdo_sqlite database_host: 127.0.0.1 database_port: null database_name: symfony database_user: root database_password: null database_path: '%kernel.project_dir%/data/db/wallabag.sqlite' database_table_prefix: wallabag_ database_socket: null database_charset: utf8 domain_name: 'https://wallabag.mydomain.com' server_name: 'Your wallabag instance' mailer_dsn: 'smtp://127.0.0.1' locale: de secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv twofactor_sender: no-reply@wallabag.org fosuser_registration: false fosuser_confirmation: false fos_oauth_server_access_token_lifetime: 3600 fos_oauth_server_refresh_token_lifetime: 1209600 from_email: no-reply@wallabag.org rss_limit: 50 rabbitmq_host: localhost rabbitmq_port: 5672 rabbitmq_user: guest rabbitmq_password: guest rabbitmq_prefetch_count: 10 redis_scheme: tcp redis_host: wallabag-redis redis_port: 6379 redis_path: null redis_password: null sentry_dsn: null ```

What steps will reproduce the bug?

Whenever I start the container (with POPULATE_DATABASE='True') wallabag tables get generated and the database file is created (I mounted the /var/www/wallabag/data to a Docker volume to persist state). However one table (wallabag_internal_setting) seems not to be created and the logs throws errors:

> bin/console cache:clear --no-warmup
 [WARNING] Some commands could not be registered:                               
In ExceptionConverter.php line 52:

  An exception occurred while executing a query: SQLSTATE[HY000]: General err  
  or: 1 no such table: wallabag_internal_setting                               

In Exception.php line 28:

  SQLSTATE[HY000]: General error: 1 no such table: wallabag_internal_setting

Already tried solutions

I already tried to run migrations for the database manually after the container startup by exec-ing into the container and running

  1. /var/www/wallabag/bin/console wallabag:install --env=prod --no-interaction or
  2. /var/www/wallabag/bin/console doctrine:migrations:migrate --env=prod --no-interaction

However this also leads to the already above mentioned error with the wallabag_internal_setting table as seen in the following screenshot:

CleanShot 2023-09-11 at 16 09 13@2x

Kdecherf commented 1 year ago

@devtobi could you remove the database, if it exists, retry and provide full log from the container?

How do you run/start the container?

Also, POPULATE_DATABASE is useless when used with SQLite database.

devtobi commented 11 months ago

Unfortunately I currently have to time to test this out. Won't get back into trying out Wallabag until next year. @Kdecherf Its on you to close this issue or leave open until I have time.