使用shell创建数据库时出错

时间:2014-03-01 18:48:55

标签: php mysql symfony doctrine

我第一次来这里是因为当我想用doctrine和Symfony创建我的数据库时遇到了问题。当我想在我的数据库中导出我的类时,我遇到了这个问题。我认为一切都很好,学说找到我的基础但不能创造它。另外,我在phpmyadmin中创建了名为“symfony”的数据库。

我希望有人可以帮助我,非常感谢你:)。

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

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

配置文件:

parameters:
    database_driver: pdo_mysql
    database_host: 127.0.0.1
    database_port: null
    database_name: symfony
    database_user: root
    database_password: null
    mailer_transport: smtp
    mailer_host: 127.0.0.1
    mailer_user: null
    mailer_password: null
    locale: en
    secret: 255a33a57b471045aa29326785659c6b0
    database_path: null

# Doctrine Configuration
doctrine:
    dbal:
        driver:   "%database_driver%"
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"
        charset:  UTF8
        # if using pdo_sqlite as your database driver, add the path in parameters.yml
        # e.g. database_path: "%kernel.root_dir%/data/data.db3"
        # path:     "%database_path%"

    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        auto_mapping: true

1 个答案:

答案 0 :(得分:2)

总结:

该错误通知您已创建具有相同名称的数据库。有三种选择:

(1)使用MySQL命令行删除当前数据库而不保存它。如果要删除数据库,请运行:DROP database name_database

(2)使用控制台删除数据库而不保存C:\wamp\www\Symfony>php app/console doctrine:database:drop

(3)如果您希望保存当前数据库的内容。重命名您当前的数据库。据我所知,你不能直接这样做。这是一个解决方法。首先,使用命令行创建一个新数据库:CREATE DATABASE name_old_database;。其次,将所有表复制到新数据库RENAME TABLE name_database.name_table TO name_old_database.name_table;。最后,DROP DATABASE name_database 查看更多信息:How do I quickly rename a MySQL database (change schema name)?