Estou com o mesmo problema desse outro tópico onde ao publicar uma edição me retorna erro 500 →
[3.3.0-7 com Postgres] Artigos somem da edição ao ser publicado
O erro foi o abaixo.
[18-Oct-2022 14:00:00 GMT] PHP Fatal error: Uncaught PDOException: SQLSTATE[42P10]: Invalid column reference: 7 ERROR: there is no unique or exclusion constraint matching the ON CONFLICT specification in /opt/app-root/src/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:115
Stack trace:
#0 /opt/app-root/src/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(115): PDOStatement->execute(NULL)
#1 /opt/app-root/src/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(489): Doctrine\DBAL\Driver\PDOStatement->execute()
#2 /opt/app-root/src/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(664): Illuminate\Database\Connection->Illuminate\Database{closure}(‘insert into "cu…’, Array)
#3 /opt/app-root/src/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\Database\Connection->runQueryCallback(‘insert into "cu…’, Array, Object(Closure))
#4 /opt/app-root/src/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/C in /opt/app-root/src/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 671
[18-Oct-2022 14:00:02 GMT] PHP Fatal error: Uncaught PDOException: SQLSTATE[42P10]: Invalid column reference: 7 ERROR: there is no unique or exclusion constraint matching the ON CONFLICT specification in /opt/app-root/src/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:115
Stack trace:
#0 /opt/app-root/src/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(115): PDOStatement->execute(NULL)
#1 /opt/app-root/src/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(489): Doctrine\DBAL\Driver\PDOStatement->execute()
#2 /opt/app-root/src/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(664): Illuminate\Database\Connection->Illuminate\Database{closure}(‘insert into "cu…’, Array)
#3 /opt/app-root/src/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\Database\Connection->runQueryCallback(‘insert into "cu…’, Array, Object(Closure))
#4 /opt/app-root/src/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/C in /opt/app-root/src/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 671
eu executei o comando citado no tópico do fórum
alter table custom_issue_orders add constraint uq_issue unique(issue_id,journal_id);
Porém a query gerada pelo sistema segue:
insert into “custom_issue_orders” (“issue_id”, “journal_id”, “seq”) values (92, 2, 1) on conflict (“issue_id”) do update set “issue_id” = “excluded”.“issue_id”, “journal_id” = “excluded”.“journal_id”, “seq” = “excluded”.“seq”
O on conflict (“issue_id”) vem com apenas um campo onde deveriam ser 2.
Ao executar a consulta tenho esse erro → ERROR: there is no unique or exclusion constraint matching the ON CONFLICT specification SQL state: 42P10
O que posso fazer para solucionar essa questão? Atualizar algo?