比如说,我有多个迁移文件更新单个表。
例如
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'); } }
每个迁移都必须具有唯一的类名。将第二个重命名为更明智的东西,如2016_03_20_075467_add_task2_to_tasks_table
和addTask2ToTasksTable
,然后运行作曲家pash-autoload
以使Laravel找到更改。现在您可以迁移了。
编辑:既然两个迁移的代码都被编辑到问题中,我可以看到第一次迁移有同样的问题,应该以同样的方式重命名。可能在更早的某个时候有一个初始创建迁移。您应该停止使用创建
命名编辑迁移,因为您实际上并不是在创建表。
我对Flyway完全陌生,但我正在尝试使用https://github.com/flyway/flyway-docker描述的docker-compose flyway mysql安排来迁移许多相同的测试数据库 据我所知,< code>migrate命令可以在它的< code>-schemas参数中接受多个模式,但是它似乎只将实际的SQL迁移应用于列表中的第一个模式。 例如,当我使用< code>
问题内容: 我进行了迁移,添加了一个新表,并希望还原该表并删除该迁移,而不创建新迁移。 我该怎么做?是否有命令还原上一次迁移,然后我可以简单地删除迁移文件? 问题答案: 你可以通过迁移到上一个迁移来还原。 例如,如果你的最后两个迁移是: 然后,你将执行以下操作: 然后,你可以删除迁移。 如果你使用的是Django 1.8+,则可以使用以下命令显示所有迁移的名称 要撤消应用程序的所有迁移,可以运行:
我有一个kafkalistener,可以一次监听一批消息,如下所示 我的问题是,有没有一种方法可以监听多批消息并只提交一次。例如,如果我在Kafka主题中有1000条消息,我希望以10批的形式一次听100条消息,并在处理10批消息后提交偏移量。
(至少我可以只用名字,跳过时间戳……) 有更简单的方法吗?
我有这个迁移代码 当我运行生成迁移的代码时 我得到了这个结果: [照明\Database\QueryException]SQLSTATE[42000]:语法错误或访问冲突:1103不正确的表名"(SQL:更改表添加con straint外键()引用"()删除级联) [条令\DBAL\Driver\PDOException]SQLSTATE[42000]:语法错误或访问冲突:1103不正确的表名“”
我想在一个POST请求中上传多个图像。目前,我的请求中与文件上传相关的部分正在获取一个文件,如下所示: 这很好用。现在,我尝试更改解码为,并对所有文件执行循环 尝试使用Postman中的参数上传图像时,出现以下错误: 不支持嵌套表单数据解码。 如何解决此问题?