在Laravel/Homestead中更改数据库名称

Kap*_*rma 11 php laravel laravel-4

我在一小时前开始学习Laravel并接受教程.

我对数据库的设置如下(文件:app/config/database.php):

'default' => 'mysql',

'connections' => array(

    'sqlite' => array(
        'driver'   => 'sqlite',
        'database' => __DIR__.'/../database/production.sqlite',
        'prefix'   => '',
    ),

    'mysql' => array(
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'laraveltest',
        'username'  => 'root',
        'password'  => 'secret',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ),
Run Code Online (Sandbox Code Playgroud)

在hometead的mySQL中,我已经创建了laraveltest数据库.我还在database/migration目录中创建了迁移文件,代码如下:

public function up()
{
    Schema::create('users', function($table)
    {
        $table->increments('id');
        $table->string('email')->unique();
        $table->string('name');
        $table->timestamps();
    });
}
Run Code Online (Sandbox Code Playgroud)

和迁移命令是:

vagrant@homestead:~/Code/Laravel$ php artisan migrate
Migration table created successfully.
Migrated: 2014_08_14_195103_create_users_table
Run Code Online (Sandbox Code Playgroud)

如图所示,表用户已在homestead数据库中创建,而不是在laraveltest数据库中创建.有人可以告诉我哪里出错了,以及如何强制laravel使用laraveltest数据库?

在第一条评论后编辑 文件:bootstrap/start.php

$env = $app->detectEnvironment(array(

    'local' => array('homestead'),

));
Run Code Online (Sandbox Code Playgroud)

小智 14

这很可能是环境问题.检查app/config/local /中是否有数据库配置文件,并检查它是否具有正确的设置.


小智 12

如果有人发现这个寻找Laravel 5或更高版本的答案:它与@camroncade说的相同,但在这种情况下,它是您.env想要查看的项目根目录中的文件.