Laravel 4工匠迁移安装

时间:2013-11-20 04:03:52

标签: mysql laravel-4

我正在尝试将一个非常基本的应用程序从Laravel 3迁移到Laravel 4.它看起来很容易,但由于某种原因,以下命令无效。

php artisan migrate:install

遵循本教程:http://laravel.com/docs/quick#installation似乎我们不再需要安装工匠了。所以我试着跑步

php artisan migrate

但我总是得到错误

  

[ErrorException]
   未定义的索引:整理

我的database.php:

'fetch' => PDO::FETCH_CLASS,
'default' => 'mysql',
'connections' => array(

    'sqlite' => array(
        'driver'   => 'sqlite',
        'database' => __DIR__.'/../database/production.sqlite',
        'prefix'   => '',
    ),
    'mysql' => array(
        'driver'   => 'mysql',
        'host'     => '127.0.0.1',
        'database' => 'wepromoters_db',
        'username' => 'root',
        'password' => '',
        'charset'  => 'utf8',
        'prefix'   => '',
    ),

    'pgsql' => array(
        'driver'   => 'pgsql',
        'host'     => 'localhost',
        'database' => 'database',
        'username' => 'root',
        'password' => '',
        'charset'  => 'utf8',
        'prefix'   => '',
        'schema'   => 'public',
    ),

    'sqlsrv' => array(
        'driver'   => 'sqlsrv',
        'host'     => 'localhost',
        'database' => 'database',
        'username' => 'root',
        'password' => '',
        'prefix'   => '',
    ),

),

    'redis' => array(

    'cluster' => true,

    'default' => array(
        'host'     => '127.0.0.1',
        'port'     => 6379,
        'database' => 0,
    ),

),

我的迁移:

public function up()
{
    Schema::create('users',function($table){
        $table->increments('id');
        $table->string('email')->unique();
        $table->string('password');
        $table->string('type');
        $table->timestamps();

    });
}

最后,我的Laravel 3应用程序正常运行数据库

发生了什么事?

2 个答案:

答案 0 :(得分:3)

根据Laravel论坛上的this thread,数据库配置现在需要collation参数。

尝试使用它(注意“charset”之后的额外“collat​​ion”参数):

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

答案 1 :(得分:0)

Laravel 4与Laravel 3完全不同,因此使用laravel 4命令来迁移你的表。我不确切知道,但您可以尝试使用此命令:

php artisan make:migration create_users_table(Enter)

因此,我们创建了默认用户表,并且必须创建我们的表:

php artisan make:migration create_YourTableName_table -- create YourTableName

然后,检查您的文件" migration / YourTableName.php"打开它。

现在,您可以在"运行迁移块"。

下编写代码

最后,运行此命令以迁移您的表。

php artisan migrate

它会在一段时间内迁移您的表格。