Chuẩn bị Cở sở dữ liệu - Database Migrations

Lượt xem: 4507

Chuẩn bị Cở sở dữ liệu

Database Migrations

Trước tiên, chúng ta sử dụng một migration để xác định một cơ sở dữ liệu bảng để lưu trữ tất cả các tác vụ (tasks) của chúng ta.
Database Migrations của Laravel cung cấp một cách dễ dàng để xác định cấu trúc bảng cở sở dữ liệu của bạn và sửa đổi bằng mã PHP thông thạo, biểu cảm. Thay vì yêu cầu tất cả các thành viên trong nhóm của bạn thêm thủ công các cột vào bản sao cơ sở dữ liệu cục bộ của họ, đồng đội của bạn chỉ cần chạy migrations đơn giản mà bạn đẩy vào quản lý source. (Ví dụ: Dùng Git, SVN… quản lý source code với team sẽ thể hiện rất rõ ưu điểm của Migrations)
Vì vậy, hay xây dựng một cơ sở dữ liệu chứa tất cả các tasks của chúng ta. Artisan CLI có thể được sử dụng để tạo ra nhiều lớp khác nhau và sẽ giúp bạn tiết kiệm rất nhiều thao tác gõ khi bạn xây dựng các dự án Laravel của mình. Trong trường hợp này chúng ta sử dụng lệnh make:migration để tạo mới database migration cho bảng tasks.

 php artisan make:migration create_tasks_table --create=tasks

Các migration sẽ được đặ trong folder database/migration của dự án. Như bạn có thể nhận thấy lệnh make:migration đã them ID tăng tự động và dấu thời gian vào tập tin migration. Hãy chỉnh lại tập tin và thêm cột (column) name vào tasks của chúng ta.


<?php

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

class CreateTasksTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('tasks', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->timestamps();
        });
    }

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


Để chạy migration, chúng ta sử dụng lệnh migrate artisan.


php artisan migrate

Lệnh này sẽ tạo tất cả các bảng cơ sở dữ liệu của chúng ta. Nêu bạn kiểm tra cơ sở dữ liệu bằng ứng dụng (Ví dụ phpmyadmin,sqlworkbench…) khách hàng mà bạn chọn, bạn sẽ thấy trọng bảng task có chứ cột được xác định trong migration.

Tham khảo cách thiết lập xdebug trong visual studio code

 

Tiếp theo chúng ta xác định Eloqent ORM model cho task.

Tham khảo: https://laravel.com/docs/5.1/quickstart