Курсовые - Разработка web-приложения на Laravel

Миграции

Миграции базы данных являются весьма полезны для любого проекта, особенно для проектов с несколькими разработчиками, позволяя иметь последнюю версию базы данных у всех разработчиков. В Laravel для этого достатчно выполнить одну команду в командной строке.

Для создания новой миграции понадобился интерфейс командной строки Laravel — «Artisan».

Открыли консоль командной строки из папки, где расположен файл artisan. В консоли ввели следующую команду:

php artisan make:migration create_categories

В папке database/migration создался новый файл 2016_10_25_111814_Catalog.php.

Класс миграции содержит два метода up() для внесения изменений в таблицу базы данных и down() для отмены действий метода up(). Например, если мы создаем таблицу в up(), то в down() ее нужно удалить.

Допишем действия up() и down()

class Catalog extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
 Schema::create('catalog', function(Blueprint $t){
  $t -> increments('id');
  $t ->string('name');
  $t ->text('body');
  $t ->string('url');
  $t ->timestamps();
  });
 }
/**
* Reverse the migrations.
*
* @return void
*/
 public function down()
 {
  shema::drop('catolog');
 }
}

Внутри функции мы можем использовать следующие методы для определения структуры таблицы:

increments() — добавить автоинкрементируемое поле — его будет иметь боольшая часть ваших таблиц

string() — создать поле VARCHAR — правда, «строка» куда более описательное имя, чем в стандарте SQL

integer() — добавить целочисленное поле

float() — поле с дробным числом (число с плавающей точкой)

boolean() — логическое («булево») поле — истина (true) или ложь (false)

date() — поле даты

timestamp() — поле «отпечатка времени», так называемый «Unix timestamp»

text() — текстовое поле без ограничения по длине

blob() — большой двоичный объект (BLOB)

Перед тем как на основе существующих миграций создали таблицы, создали таблицу migrations, в которой laravel хранит данные о самих миграциях:

php artisan migrate:install

После того как создали таблицу, выполнили саму миграцию:

php artisan migrate.

Количество комментариев: 0

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