我的一个迁移没有使用Laravel4中的php artisan命令运行
我在Laravel 4中运行了几次迁移。我使用我的一个迁移没有使用Laravel4中的php artisan命令运行,php,laravel,laravel-4,Php,Laravel,Laravel 4,我在Laravel 4中运行了几次迁移。我使用php artisan migrate:rollback和php artisan migrate命令来填充表。有趣的是,我的一次迁移已经停止工作(无法回滚)。其他人都很好。我的知识没有任何变化 正在讨论的迁移名为:2013\u 06\u 19\u 05025\u create\u artists\u table.php 看起来是这样的: <?php use Illuminate\Database\Migrations\Migratio
php artisan migrate:rollback
和php artisan migrate
命令来填充表。有趣的是,我的一次迁移已经停止工作(无法回滚)。其他人都很好。我的知识没有任何变化
正在讨论的迁移名为:2013\u 06\u 19\u 05025\u create\u artists\u 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');
}
}
当迁移出现问题时,有时
php artisan migrate:refresh
但是,如果您的迁移真的中断了,并且有时会发生这种情况,那么您可能必须删除所有数据库表,然后再次运行php artisan migrate
。我也遇到了同样的问题,并做了类似的操作来修复它。这就是我的工作
删除迁移应该创建的表和列(如果它们仍然存在)
通过将迁移文件名称中的最后一个数字增加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 composer.phar dump autoload无助于解决问题。Autolodi上未列出任何错误。我的所有表都已正确迁移,但数据库中的迁移表却为空。。删除了包括迁移表在内的所有表,并再次运行了migrate命令,但结果仍然相同。。不知道发生了什么事。。有什么线索吗?我也有类似的问题,认为迁移没有正确执行。原来我刚刚在MySQL中隐藏了这个表。如果你这么做了,你可以通过点击你桌子列表上的黄色灯泡把它拿回来。你结束了我这么多的挫折。这么多乱七八糟的黑客和愚蠢的变通方法。非常感谢!!:)