我正在创建一个登录/注册系统,因为我以前从未做过。我使用Symfony框架来关注他们的文档(https://symfony.com/doc/current/security.html)。建议我通过
创建一个用户实体php bin /控制台make:user
这将创建我的用户实体和存储库。
但是,当我创建迁移并通过运行来迁移时:
php bin /控制台d:m:m
它向我返回此语法错误:
{time: "2019-05-04T15:17:24.571Z"} "2019-05-04T15:17:23.107Z"
在错误消息中找到了返回语法错误的完整MySQL表创建,但是,这本身就是查询:
Migration 20190502143453 failed during Execution. Error An exception occurred while executing 'CREATE TABLE user (id INT AUTO_INCREMENT NOT NULL, username VARCHAR(180) NOT NULL, roles JSON NOT NULL, password VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_8D93D649F85E0677 (username), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB':
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use
near 'JSON NOT NULL, password VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_8D93D649F85E067' at line 1
我已经按照步骤进行了迁移,但是我不确定为什么会出现语法错误,因为它对我来说看起来是正确的。 SQL是自动生成的。
如果有人知道如何解决此语法错误,将不胜感激。
如果需要更多信息,我很乐意提供这些信息。
最诚挚的问候,
史蒂夫。