我在 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');
}
}
我不知道为什么这不起作用。任何想法可能会发生什么?
最佳答案
我遇到了同样的问题,并做了类似的事情来解决它。这对我有用。
- 删除迁移应该创建的表和列(如果它们仍然存在)。
- 通过将迁移文件名称中的最后一个数字递增 1 来重命名 app/database/migrations 文件中的迁移。示例:将“2014_06_01_190448_create_users.php”重命名为“2014_06_01_190449_create_users.php”
- 运行
composer dump-autoload
- 这会从系统内存中取出旧迁移 - 在命令行中重新运行
php artisan migrate
文件系统基本上认为这是一个新的迁移,所以它给了它一个“新的开始”。
关于php - 我的一个迁移没有在 Laravel 4 中使用 php artisan 命令运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22291704/