我正在嘗試運行PHPUnit測試。對於測試環境,我已在:memory
中設置SQLite
。在我的設置,我叫Artisan::call('migrate')
但後來我得到以下錯誤:Laravel單元測試遷移失敗
General error: 1 Cannot add a NOT NULL column with default value NULL (SQL: alter table "admins" add column "title" text not null)
基本上是修改現有的表中的任何遷移文件返回一個錯誤。爲什麼?
這裏是文件遷移抱怨:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class AddTitleToAdminsTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('admins', function(Blueprint $table)
{
$table->text('title');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('admins', function(Blueprint $table)
{
$table->dropColumn('title');
});
}
}
那麼這個錯誤看起來像你的遷移有問題,而不是你調用它的方式。你可以請更新與產生此錯誤的遷移的問題? – lukasgeiter 2014-12-07 20:43:53
@lukasgeiter,謝謝你的迴應。我更新了我的答案 – Kousha 2014-12-07 20:55:14