Ошибка Symfony Doctrine PostgreSQL: SQLSTATE [42703]: неопределенный столбец: 7 ОШИБКА - PullRequest
0 голосов
/ 13 февраля 2020

Привет, я использую Symfony и пытаюсь подключить свой проект к PostgreSQL версии сервера 9.6. Я уже отредактировал файл .env. Затем я сделал свои миграции. Итак, у меня есть новые таблицы в базе данных, но когда я создаю учетную запись в своем веб-приложении, у меня появляется эта ошибка.

An exception occurred while executing 'SELECT t0.id AS id_1, t0.username AS username_2, t0.password AS password_3, t0.email AS email_4, t0.confirmation_token AS confirmation_token_5, t0.account_activated AS account_activated_6 FROM user t0 WHERE t0.email = ?' with params ["machin@bidule.fr"]:

SQLSTATE[42703]: Undefined column: 7 ERROR: column t0.id does not exist
LINE 1: SELECT t0.id AS id_1, t0.username AS username_2, t0.password...

Я уже использовал

php bin/console doctrine:schema:update --force

Но это ничего не изменило. Я также добавил исправления расширений в файл php .ini.

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

В будущем вместо изменения имени таблицы добавьте @ORM\Table(name=" user "). как показано ниже. Обратите внимание на серьезный акцент (`) диакритический знак .


namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Security\Core\User\UserInterface;

/**
 * @ORM\Entity(repositoryClass="App\Repository\UserRepository")
 * @ORM\Table(name="`user`")
 * @UniqueEntity(fields={"username"}, message="There is already an account with this username")
 */
class User implements UserInterface
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */

.....the rest of code continues...

0 голосов
/ 13 февраля 2020

Наконец-то обнаружена проблема: "user" - это ключевое слово в postgreSQL. Я переименовал свою сущность и сделал миграции. Сейчас работает

...