我在Laravel 4中运行了几次迁移。我使用php artisan migrate:rollback
和php artisan migrate
命令填充表格。有趣的是,我的一次迁移已停止工作(无法回滚)。所有其他人都工作正常。据我所知,我没有改变任何东西。
有问题的迁移命名为:2013_06_19_050252_create_artists_table.php
它看起来像这样:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateArtistsTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('artists', function(Blueprint $table) {
$table->increments('id');
$table->string('url_tag')->unique();
$table->string('username');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('artists');
}
}
我不知道为什么这不起作用。什么想法可能会发生什么?
答案 0 :(得分:12)
我遇到了同样的问题并做了类似的事情来修复它。这对我有用。
composer dump-autoload
- 这会将旧迁移从系统内存中取出php artisan migrate
文件系统基本上认为这是一个新的迁移,所以它给了它一个“新的开始”。
答案 1 :(得分:2)
如果您的迁移出现问题,有时候
php artisan migrate:refresh
但是,如果您的迁移确实被破坏,并且有时会发生,您可能必须删除所有数据库表,然后再次运行php artisan migrate
。
答案 2 :(得分:0)
使用Illuminate \ Support \ Facades \ Schema;