我可以为 laravel 中具有相同列的多个表创建迁移吗?
Can i create a migration for multiple tables with same columns in laravel?
我需要创建多个具有相同列的表格,例如两支钢笔、铅笔表格具有相同的列。是否可以在单个函数中为 laravel 中的多个表进行迁移?
笔
- 名字
- 描述
- 价格
- 来源
- processing_started_at
- processing_ended_at
铅笔
- 名字
- 描述
- 价格
- 来源
- processing_started_at
- processing_ended_at
迁移是通用 PHP 代码,因此您几乎可以在其中做任何想做的事情。您甚至不需要在迁移中对数据库执行任何操作(尽管您可能应该这样做)。
在您的情况下,类似下面的内容将起作用:
public function up() {
foreach (['pen', 'pencil'] as $tableName) {
Schema::create($tableName, function (Blueprint $table) {
$table->string('name');
$table->text('description');
// and so on
});
}
}
public function down() {
foreach (['pen', 'pencil'] as $tableName) {
Schema::dropIfExists($tableName);
}
}
我需要创建多个具有相同列的表格,例如两支钢笔、铅笔表格具有相同的列。是否可以在单个函数中为 laravel 中的多个表进行迁移?
笔
- 名字
- 描述
- 价格
- 来源
- processing_started_at
- processing_ended_at
铅笔
- 名字
- 描述
- 价格
- 来源
- processing_started_at
- processing_ended_at
迁移是通用 PHP 代码,因此您几乎可以在其中做任何想做的事情。您甚至不需要在迁移中对数据库执行任何操作(尽管您可能应该这样做)。
在您的情况下,类似下面的内容将起作用:
public function up() {
foreach (['pen', 'pencil'] as $tableName) {
Schema::create($tableName, function (Blueprint $table) {
$table->string('name');
$table->text('description');
// and so on
});
}
}
public function down() {
foreach (['pen', 'pencil'] as $tableName) {
Schema::dropIfExists($tableName);
}
}