Jef*_*ffz 11 php migration laravel
说,我有多个迁移文件更新单个表.
例如
2016_03_20_072730_create_tasks_table.php 2016_03_20_075467_create_tasks_table.php
......来自不同团队成员的回购.每个人都在调整表中的内容,例如添加一列.
当我尝试:
php artisan migrate
我收到错误:
PHP Fatal error: Cannot declare class CreateTasksTable, because the name is eady in use in U:\www\b10\database\migrations\2016_03_20_072737_create_tasks_ le.php on line 30 [Symfony\Component\Debug\Exception\FatalErrorException] Cannot declare class CreateTasksTable, because the name is already in use
如何应对如上所述的情况?
编辑
这是代码:
2016_03_20_072730_create_tasks_table.php:
class CreateTasksTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('tasks', function ($table)
{
$table->string('task1');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('tasks');
}
}
2016_03_20_075467_create_tasks_table.php:
class CreateTasksTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('tasks', function ($table)
{
$table->string('task2');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('tasks');
}
}
Joe*_*inz 11
每次迁移都必须具有唯一的类名.将第二个重命名为更合理的东西,例如2016_03_20_075467_add_task2_to_tasks_table和AddTask2ToTasksTable,然后运行composer dump-autoload以使Laravel找到变化.现在你可以迁移了.
编辑:既然已将两个迁移的代码编辑到问题中,我可以看到第一个迁移具有相同的问题,并且应该以相同的方式重命名.有时候可能会有一个初始的创建迁移.您应该停止将编辑迁移命名为create,因为您实际上并未创建表.
| 归档时间: |
|
| 查看次数: |
12520 次 |
| 最近记录: |