У меня есть объект с именем "FosUser":
<?php
namespace techeventBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* FosUser
*
* @ORM\Table(name="fos_user", uniqueConstraints={@ORM\UniqueConstraint(name="UNIQ_957A6479A0D96FBF", columns={"email_canonical"}), @ORM\UniqueConstraint(name="UNIQ_957A647992FC23A8", columns={"username_canonical"}), @ORM\UniqueConstraint(name="UNIQ_957A6479C05FB297", columns={"confirmation_token"})}, indexes={@ORM\Index(name="IDX_957A647914013572", columns={"copon_id"})})
* @ORM\Entity
*/
class FosUser
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="username", type="string", length=180, nullable=true)
*/
private $username;
/**
* @var string
*
* @ORM\Column(name="username_canonical", type="string", length=180, nullable=true)
*/
private $usernameCanonical;
/**
* @var string
*
* @ORM\Column(name="email", type="string", length=180, nullable=false)
*/
private $email;
/**
* @var string
*
* @ORM\Column(name="email_canonical", type="string", length=180, nullable=true)
*/
private $emailCanonical;
/**
* @var boolean
*
* @ORM\Column(name="enabled", type="boolean", nullable=true)
*/
private $enabled;
/**
* @var string
*
* @ORM\Column(name="salt", type="string", length=255, nullable=true)
*/
private $salt;
/**
* @var string
*
* @ORM\Column(name="password", type="string", length=255, nullable=false)
*/
private $password;
/**
* @var \DateTime
*
* @ORM\Column(name="last_login", type="datetime", nullable=true)
*/
private $lastLogin;
/**
* @var string
*
* @ORM\Column(name="confirmation_token", type="string", length=180, nullable=true)
*/
private $confirmationToken;
/**
* @var \DateTime
*
* @ORM\Column(name="password_requested_at", type="datetime", nullable=true)
*/
private $passwordRequestedAt;
/**
* @var array
*
* @ORM\Column(name="roles", type="array", nullable=true)
*/
private $roles;
/**
* @var string
*
* @ORM\Column(name="nom", type="string", length=255, nullable=false)
*/
private $nom;
/**
* @var string
*
* @ORM\Column(name="prenom", type="string", length=255, nullable=false)
*/
private $prenom;
/**
* @var string
*
* @ORM\Column(name="tel", type="string", length=30, nullable=true)
*/
private $tel;
/**
* @var integer
*
* @ORM\Column(name="age", type="integer", nullable=false)
*/
private $age;
/**
* @var string
*
* @ORM\Column(name="sexe", type="string", length=255, nullable=true)
*/
private $sexe;
/**
* @var string
*
* @ORM\Column(name="fonction", type="string", length=255, nullable=true)
*/
private $fonction;
/**
* @var string
*
* @ORM\Column(name="address", type="string", length=255, nullable=true)
*/
private $address;
/**
* @var string
*
* @ORM\Column(name="categorie", type="string", length=255, nullable=true)
*/
private $categorie;
/**
* @var string
*
* @ORM\Column(name="type", type="string", length=255, nullable=true)
*/
private $type;
/**
* @var string
*
* @ORM\Column(name="description", type="string", length=255, nullable=true)
*/
private $description;
/**
* @var string
*
* @ORM\Column(name="role", type="string", length=255, nullable=true)
*/
private $role;
/**
* @var \Coupon
*
* @ORM\ManyToOne(targetEntity="Coupon")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="copon_id", referencedColumnName="id")
* })
*/
private $copon;
}
Я удалил поля в этом объекте и изменил значение по умолчанию для полей на null ('nullable = true') следующим образом:
<?php
namespace AppBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* FosUser
*
* @ORM\Table(name="fos_user", uniqueConstraints={@ORM\UniqueConstraint(name="UNIQ_957A6479A0D96FBF", columns={"email_canonical"}), @ORM\UniqueConstraint(name="UNIQ_957A647992FC23A8", columns={"username_canonical"}), @ORM\UniqueConstraint(name="UNIQ_957A6479C05FB297", columns={"confirmation_token"})}, indexes={@ORM\Index(name="IDX_957A647914013572", columns={"copon_id"})})
* @ORM\Entity
*/
class FosUser extends BaseUser
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name="nom", type="string", length=255, nullable=true)
*/
protected $nom;
/**
* @var string
*
* @ORM\Column(name="prenom", type="string", length=255, nullable=true)
*/
protected $prenom;
/**
* @var string
*
* @ORM\Column(name="tel", type="string", length=30, nullable=true)
*/
protected $tel;
/**
* @var integer
*
* @ORM\Column(name="age", type="integer", nullable=false)
*/
protected $age;
/**
* @var string
*
* @ORM\Column(name="sexe", type="string", length=255, nullable=true)
*/
protected $sexe;
/**
* @var string
*
* @ORM\Column(name="fonction", type="string", length=255, nullable=true)
*/
protected $fonction;
/**
* @var string
*
* @ORM\Column(name="address", type="string", length=255, nullable=true)
*/
protected $address;
/**
* @var string
*
* @ORM\Column(name="categorie", type="string", length=255, nullable=true)
*/
protected $categorie;
/**
* @var string
*
* @ORM\Column(name="type", type="string", length=255, nullable=true)
*/
protected $type;
/**
* @var string
*
* @ORM\Column(name="description", type="string", length=255, nullable=true)
*/
protected $description;
/**
* @var string
*
* @ORM\Column(name="role", type="string", length=255, nullable=true)
*/
protected $role;
/**
* @var \Coupon
*
* @ORM\ManyToOne(targetEntity="Coupon")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="copon_id", referencedColumnName="id")
* })
*/
protected $copon;
public function __construct()
{
parent::__construct();
// your own logic
}
}
У меня были эти ошибки после обновления схемы базы данных:
В строке AbstractMySQLDriver.php 112:
Исключительная ситуация при выполнении команды ALTER TABLE fos_user CHANGE имя пользователя имя пользователяVARCHAR (180) NOT NULL, ИЗМЕНИТЬ username_canonical username_canonic al VARCHAR (180) NOT NULL, CHANGE email_canonical email_canonical email_canonical VARCHAR (18 0) NOT NULL, изменение CHANGE включено TINYINT (1) НЕ NULL, ИЗМЕНИТЬ Роли Роль LONGTEXT NOTLL NUarray) ', CHANGE nom nom VARCHAR (255) D EFAULT NULL, CHANGE prenom prenom VARCHAR (255) DEFAULT NULL':
SQLSTATE [22004]: значение NULL не разрешено: 1138 Использование неверно, де ла VALUR NULL
В строке 106 файла PDOConnection.php:
SQLSTATE [22004]: недопустимое значение NULL: 1138 Неправильное использованиеNULL
В строке 104 файла PDOConnection.php:
SQLSTATE [22004]: значение NULL не разрешено: 1138 Неверное использование данных NULL