无法弄清楚如何在Laravel上设置数据库

时间:2013-11-12 03:33:53

标签: php mysql database laravel

这正成为一个非常烦人的问题。我正在关注laravel.com上的快速设置说明。我已经按照所有步骤进行操作,直到我必须离开:

php artisan migrate

结果是:

[PDOException]
  SQLSTATE[42000] [1049] Unknown database 'database'



migrate [--bench[="..."]] [--database[="..."]] [--path[="..."]] [--package[="..."]] [--pretend] [--seed]

然后我回去检查database.php文件,它显示为:

'mysql' => array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'database',
    'username'  => 'root',
    'password'  => '',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),

之后,我转到localhost:8000 / users并显示:

    PDOException
    SQLSTATE[42000] [1049] Unknown database 'database'
    open: /Users/benamorgan/Sites/run-away-world/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php
         */


    public function createConnection($dsn, array $config, array $options)
        {
            $username = array_get($config, 'username');

            $password = array_get($config, 'password');

            return new PDO($dsn, $username, $password, $options);
        }

我一直在尝试更改数据库名称,提供root密码,启动和停止mysql,以各种可能的方式更改数据库的命名,将localhost更改为127.0.0.1。我不知道该怎么做,因此我在这里停下来问我搞砸了哪里。

2 个答案:

答案 0 :(得分:11)

Laravel不会为您创建数据库,您需要自己创建数据库。登录mysql并创建数据库,然后在db config中提供名称。

您可以在控制台中快速完成:

echo "create database my_database" | mysql -u root -p

然后在您的配置中更改数据库名称:

'database'  => 'my_database',

答案 1 :(得分:0)

要添加,请确保您在配置文件中使用MySQL驱动程序,尽管这一点很明显。

再次确保先前创建了MySQL中的数据库,并且您使用的是正确的凭据(用户,密钥)