2016-12-09 2 views

ответ

1

Я создал пакет, который позволяет выполнять пользовательские миграции без всяких хлопот по расширению всего.

https://github.com/shiftonelabs/laravel-nomad

После установки пакета, вы просто изменить свой переход на использование нового метода passthru, и вы можете дать ему определение вы хотите для вашей области.

// pass definition as third parameter 
$table->passthru('string', 'username', 'varchar(60)'); 
$table->passthru('datetime', 'expires_at', 'smalldatetime'); 

// or use fluent definition method 
$table->passthru('string', 'username')->definition('varchar(60)'); 
$table->passthru('datetime', 'expires_at')->definition('smalldatetime'); 

// if there is no defintion, it defaults to the first parameter 
$table->passthru('smalldatetime', 'expires_at'); 
0

Это выполнимо, но вы, вероятно, придется создать новый драйвер базы данных самостоятельно, которая включает в создании

DatabaseManager 
Connection 
ConnectionFactory 
Schema Builder 
Schema Grammar 
... 

Значительная часть является то, что вы, вероятно, может продлить срок действия всех этих ребят из Laravel и только изменить класс грамматики:

/** 
    * Create the column definition for a string type. 
    * 
    * @param \Illuminate\Support\Fluent $column 
    * @return string 
    */ 
protected function typeString(Fluent $column) 
{ 
    return 'NVARCHAR ('.$column->length.')'; 
} 

примером этого в этом пакете:

https://github.com/jacquestvanzuydam/laravel-firebird/tree/5.3-support/src/Firebird 
Смежные вопросы