2015-12-15 3 views
0

У меня проблема с symfony. когда я исполняю этот кодSymfony Неизвестная база данных

$quiz = new Quiz(); 
$quiz->setTitle('A quiz.'); 
$quiz->setAuthor('Alexandre'); 
$quiz->setContent("Blabla…"); 
$em = $this->getDoctrine()->getManager(); 
$em->persist($quiz); 

Symfony показать мне эту ошибку

An exception occured in driver: SQLSTATE[HY000] [1049] Unknown database 'quiz' 

Но если я пытаюсь создать базу данных он говорит, что база данных существует

php bin/console doctrine:database:create 
Could not create database `symfony` for connection named default 
An exception occurred while executing 'CREATE DATABASE `symfony`': 

SQLSTATE[HY000]: General error: 1007 Can't create database 'symfony'; database exists 

И

php bin/console doctrine:schema:update --force 
Nothing to update - your database is already in sync with the current entity metadata. 

Это мой приложение/Config/parameters.yml файл

# This file is auto-generated during the composer install 
parameters: 
    database_host: localhost 
    database_port: ~ 
    database_name: symfony 
    database_user: root 
    database_password: ~ 
    mailer_transport: smtp 
    mailer_host: 127.0.0.1 
    mailer_user: null 
    mailer_password: null 
    secret: 43c1fdc9712102f8b9c3e33ed1c46befd3dae9ab 

Спасибо за вашу помощь

+0

Ваша база данных уже существует, нет необходимости запускать базу данных: create. Создали ли вы свой класс Quiz своими аннотациями для создания таблицы Quiz? – NickOS

+0

Первое сообщение об ошибке указывает, что доктрина ищет базу данных, называемую викториной? Проверьте свой файл конфигурации и, возможно, имя таблицы в вашем сопоставлении сущности Quiz. Также попробуйте удалить кеш. Я предполагаю, что вы скопировали/вставили ошибку. Или это была действительно неизвестная табличная викторина? В этом случае вам нужна доктрина: schema: create, чтобы сделать таблицу викторины. – Cerad

+0

Пожалуйста, добавьте свой файл сопоставления доктрины (или ваш класс сущности с аннотациями). Очевидно, что ваше имя базы данных отличается от имени «quiz». Вероятно, это небольшая ошибка в вашем картографировании. – axelvnk

ответ

0

STEP

  1. PHP бен/консоли доктриной: база данных: падение --force
  2. PHP бен/консоли доктрина: база данных: создать
  3. bin/console doctrine: схема: обновление --force

Symfony doc http://symfony.com/doc/current/book/doctrine.html

Смежные вопросы