2015-01-03 2 views
0

Это очень простой вопрос о laravel.Файл миграции обновления laravel4 на реальном сервере

У меня есть миграции файл что-то вроде этого

<?php 

use Illuminate\Database\Schema\Blueprint; 
use Illuminate\Database\Migrations\Migration; 

class CreateDonorsTable extends Migration { 

/** 
* Run the migrations. 
* 
* @return void 
*/ 
public function up() 
{ 
    Schema::create('donors', function(Blueprint $table) 
    { 
     $table->increments('id'); 

     $table->string('donor_name'); 

     $table->string('email')->unique(); 
     $table->string('blood_group'); 
     $table->string('phone_number')->unique()->nullable(); 
     $table->string('location'); 
     $table->date('date_of_birth'); 
     $table->date('last_date_of_donation'); 

     $table->timestamps(); 
    }); 
} 

/** 
* Reverse the migrations. 
* 
* @return void 
*/ 
public function down() 
{ 
    Schema::drop('donors'); 
} 

} 

и я уже мигрировал свою базу данных, используя этот миграционный файл и загрузил его в живом сервере. теперь мне нужно обновить файл миграции и добавить новое поле, а именно donor_image.

Как я могу сделать это на реальном сервере? Каков наилучший способ обновления файла миграции после загрузки проекта larvel на реальном сервере?

ответ

0

Лучшая практика состоит в том, чтобы сделать файл миграции еще одним только с изменениями (например, с добавлением столбца).

Затем вы запускаете новую миграцию, которая перечисляет только перечисленные ниже подмены.

Изменение исходного файла миграции неверно - и теперь вы не можете использовать его для применения изменений (без разрушения исходной таблицы).

+0

но, похоже, в соответствии с вашим ответом, что я должен делать это локально с помощью cmd, не так ли? Если это так, то мой вопрос: как я могу это сделать непосредственно для живого сервера? – RTan

+0

1. Создайте новый файл миграции. 2. Получите файл миграции на сервер (либо через git update, либо скопируйте его). 3. Запустите «php artisan migrate» на реальном сервере – Laurence

Смежные вопросы