2015-02-24 104 views
2

我使用的作曲家遷移兩個表是這樣的:如何使用php artisan命令爲Laravel Project創建兩個表遷移?

php artisan make:migration create_two_tables --create="projects","tasks" 

它創造database->migration文件夾中的文件。

遷移使用

php artisan migrate 

而其僅創建數據庫表這樣的,但是:

'projects,tasks' 

爲一個表。

我只想要一個文件,並且只需要一個命令,就像我在頂層用於在db中遷移兩個表一樣。

有沒有可能得到這個?

注:我的上司命令我不能更改數據庫遷移文件,不惜任何代價......

誰能幫助我在這裏...

回答

2

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 
}); 

Read more about creating tables with the Schema Builder here

+0

我已經這樣做了,我希望通過命令提示符來創建這個表格,是否有這種可能性 – Akilsree1 2015-02-24 08:11:04

+0

不是沒有你自己的命令。但難以打開文件並複製粘貼+更改表名? – lukasgeiter 2015-02-24 08:13:34

1

如果你只想通過創建工匠兩個表,並沒有任何列添加到您可以創建兩個遷移這些表。爲每個表創建一個。當您運行時

php artisan make:migration create_projects_table --create=projects  
php artisan make:migration create_tasks_table --create=tasks 
php artisan migrate 

它將執行兩個遷移併爲您創建兩個表。

相關問題