Quand je lance comand php bin/console doctrine:migration:migrate
j'ai eu cette erreur je ne sais pas d'où vient.
erreur de ligne de commande: dans la ligne 99 de AbstractMySQLDriver.php:
Une exception s'est produite lors de l'exécution de 'CREATE TABLE user (id INT AUTO_INCREMENT NOT NULL, email VARCHAR (180) NOT NU LL, rôles JSON NOT NULL, password VARCHAR (255) NOT NULL, UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), PRIMARY KEY (id) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB ':
SQLSTATE [42000]: erreur de syntaxe ou violation d'accès: 1064 Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à la version de votre serveur MariaDB pour la bonne syntaxe à utiliser près de 'JSON NOT NULL, mot de passe VARCHAR (255) NOT NULL, UNIQUE INDEX UNIQ_8D93D649E7927C7' à la ligne 1
Dans PDOConnection.php ligne 109:
SQLSTATE [42000]: erreur de syntaxe ou violation d'accès: 1064 Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à la version de votre serveur MariaDB pour la bonne syntaxe à utiliser près de 'JSON NOT NULL, mot de passe VARCHAR (255) NOT NULL, UNIQUE INDEX UNIQ_8D93D649E7927C7' à la ligne 1
Dans PDOConnection.php ligne 107:
SQLSTATE [42000]: erreur de syntaxe ou violation d'accès: 1064 Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à la version de votre serveur MariaDB pour la bonne syntaxe à utiliser près de 'JSON NOT NULL, mot de passe VARCHAR (255) NOT NULL, UNIQUE INDEX UNIQ_8D93D649E7927C7' à la ligne 1
Mon env mon env
Andrei a raison. Vous devez soit mettre à niveau votre base de données ou (beaucoup plus facile) configurer votre symfony pour utiliser la version inférieure de MySQL.
config/packages/doctrine.yaml
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.6'
ici vous pouvez trouver un tableau avec les compatibilités de MySQL et MariaDB.
Mettez à jour la version de MySQL vers MySQL 5.7. Parce que votre version actuelle ne prend pas en charge les objets JSON de MySQL 5.7.
Dans ce cas, vous pouvez simplement coller ce code dans config/packages/doctrine.yaml:
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.5'