doctrine: база данных: ошибка синтаксиса импорта, в то время как mysql работает нормально - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь синхронизировать c мою локальную базу данных mysql с сервером, выполнив дамп с помощью mysqldump, а затем импортировав с помощью doctrine:database:import с консоли Symfony. Он отлично работает local -> server, но при попытке server -> local я получаю следующую ошибку:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that  
   corresponds to your MySQL server version for the right syntax to use near 'SET @OLD_CHARACTER_SET_RESULTS=@@CHARAC  
  TER_SET_RESULTS */;                                                                                                  
  /*!40101 SET @OLD_COL' at line 8

Он также отлично работает, если я импортирую тот же файл, просто используя mysql или Sequel Pro. В чем проблема с Doctrine?

Локальная настройка (MAMP):

  • mysql Ver 14.14 Distrib 5.7.26, для osx10.10 ( x86_64) с использованием оболочки EditLine
  • PHP 7.2.22
  • Symfony 4.4.7

Сервер:

  • mysql Ver 14.14 Distrib 5.7.28, для Linux (x86_64) с использованием оболочки EditLine

Оба соединения определены в Symfony:

doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                driver: pdo_mysql
                url: '%env(DATABASE_URL)%'
                charset: utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collate: utf8mb4_unicode_ci
                    engine: InnoDB
                    row_format: DYNAMIC
                options:
                    1013: false

            remote:
                url: '%env(DATABASE_REMOTE_URL)%'
                driver: pdo_mysql
                charset: utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collate: utf8mb4_unicode_ci
                    engine: InnoDB
                    row_format: DYNAMIC

Вот как выглядит заголовок файла SQL:

-- MySQL dump 10.13  Distrib 5.7.26, for osx10.10 (x86_64)
--
-- Host: host.some-server.com    Database: some-database-name
-- ------------------------------------------------------
-- Server version   5.7.28-nmm1-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
...