如何找出 Nextcloud 控制台安装未在 ProstgreSQL 中生成表的原因?

如何找出 Nextcloud 控制台安装未在 ProstgreSQL 中生成表的原因?

我一直尝试使用该occ maintenance:install --database "pgsql" --database-name "dbname" ...命令在基于 Alpine-Linux 的服务器上安装 Nextcloud,但只遇到异常。

最初,投诉是

An unhandled exception has been thrown:
Doctrine\DBAL\DBALException: Failed to connect to the database: An exception occured in driver: SQLSTATE[08006] [7] FATAL:  database "dbname" does not exist in /usr/share/webapps/nextcloud/lib/private/DB/Connection.php:61

为此,我明确为我的 Nextcloud 数据库创建了“dbname”数据库,并向该 psql 用户授予了所有权限。然而,尽管该occ过程似乎能够连接到数据库,但它随后抱怨

An unhandled exception has been thrown:
PDOException: SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation "oc_appconfig" does not exist
LINE 1: SELECT * FROM "oc_appconfig"
                      ^ in /usr/share/webapps/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:104

嗯,呃。难道不occ应该在安装过程中创建该表(以及所有其他需要的表)吗?

我慢慢想不出是什么导致了这种行为,并希望得到任何关于如何找出问题所在...

一些相关的软件版本(如果相关):

  • 操作系统:Alpine Linux 3.7
  • PostgreSQL 10.3
  • PHP 7.1.17
  • Nextcloud 12.0.6
  • Nginx 1.12.2

相关内容