コマンドを実行するとphp bin/console doctrine:migration:migrate
どこから来たのかわからないこのエラーが発生しました。
コマンドラインエラー:AbstractMySQLDriver.php 99行目:
'CREATE TABLE user(id INT AUTO_INCREMENT NOT NULL、email VARCHAR(180)NOT NU LL、roles JSON NOT NULL、password VARCHAR(255)NOT NULL、UNIQUE INDEX UNIQ_8D93D649E7927C74(email)、PRIMARY KEY(id))の実行中に例外が発生しました)デフォルトの文字セットutf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB ':
SQLSTATE [42000]:構文エラーまたはアクセス違反:1064 SQL構文にエラーがあります。 MariaDBサーバーのバージョンに対応するマニュアルで、1行目の「JSON NOT NULL、password VARCHAR(255)NOT NULL、UNIQUE INDEX UNIQ_8D93D649E7927C7」の近くで使用する正しい構文を確認してください
PDOConnection.phpの109行目:
SQLSTATE [42000]:構文エラーまたはアクセス違反:1064 SQL構文にエラーがあります。 MariaDBサーバーのバージョンに対応するマニュアルで、1行目の「JSON NOT NULL、password VARCHAR(255)NOT NULL、UNIQUE INDEX UNIQ_8D93D649E7927C7」の近くで使用する正しい構文を確認してください
PDOConnection.phpの107行目:
SQLSTATE [42000]:構文エラーまたはアクセス違反:1064 SQL構文にエラーがあります。 MariaDBサーバーのバージョンに対応するマニュアルで、1行目の「JSON NOT NULL、password VARCHAR(255)NOT NULL、UNIQUE INDEX UNIQ_8D93D649E7927C7」の近くで使用する正しい構文を確認してください
私の環境 my env
アンドレイは正しい。より低いバージョンのMySQLを使用するには、データベースをアップグレードするか、(はるかに簡単に)symfonyを設定する必要があります。
config/packages/doctrine.yaml
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.6'
ここ MySQLとMariaDBの互換性のあるテーブルを見つけることができます。
MySQLのバージョンをMySQL 5.7に更新します。現在のバージョンはMySQL 5.7のJSONオブジェクトをサポートしていないためです。
この場合、このコードをconfig/packages/doctrine.yamlに貼り付けるだけです。
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.5'