我正在使用composer迁移两个表,如下所示:
php artisan make:migration create_two_tables --create="projects","tasks"
正在创建database->migration
文件夹中的文件。
但是在使用进行迁移时
php artisan migrate
它在数据库中只创建这样的表:
'projects,tasks'
作为一张桌子。
我只想要一个文件和一个命令,就像我在顶部为迁移数据库中的两个表所做的那样。
有可能得到这个吗?
注意:我的上级命令我不要不惜任何代价更改数据库迁移文件。。。
有人能帮我吗。。。
make:migration
命令只是从模板创建一个新的迁移文件。要真正定义迁移,通常必须编辑该文件。所以在你的情况下,你会这样做:
php artisan make:migration create_two_tables --create="projects"
然后打开***_create_two_tables.php
迁移文件,添加第二个表:
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('projects', function(Blueprint $table)
{
});
Schema::create('tasks', function(Blueprint $table)
{
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('projects');
Schema::drop('tasks');
}
通常,您还希望将实际列添加到表中。你在Schema::create
闭包中所做的:
Schema::create('projects', function(Blueprint $table)
{
$table->increments('id');
$table->string('name');
// and so on
});
阅读更多关于使用模式生成器创建表的信息
如果您只想通过artisan创建两个表,而不想向这些表添加任何列,则可以创建两个迁移。为每个表创建一个。当你运行
php artisan make:migration create_projects_table --create=projects
php artisan make:migration create_tasks_table --create=tasks
php artisan migrate
它将执行两个迁移并为您创建两个表。