composer如何为Laravel项目使用php-artisan命令创建两个表的迁移



我正在使用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 

它将执行两个迁移并为您创建两个表。

相关内容

  • 没有找到相关文章

最新更新