Một điểm khiến mình thích khi sử dụng Laravel đó là nó cho phép bạn quản lý cơ sở dữ liệu bằng lệnh CMD trên máy tính, hay còn gọi là Migration.

Nếu như bạn sử dụng PHP thuần thì sẽ phải vào Phpmyadmin hoặc viết lệnh tạo. Nhưng với Migrations trong Laravel bạn sẽ tiết kiệm được nhiều thời gian hơn khi lập trình web.

Vậy Migration là gì trong Laravel?

Migration cho phép chúng ta định nghĩa các bảng trong Database. Định nghĩa nội dung của các bảng và cập nhật thay đổi hoàn toàn bằng PHP.

Nó đóng vai trò như một phiên bản Control của cơ sở dữ liệu. Nếu bạn đã sử dụng qua Git sẽ thấy rằng cách thức hoạt động tương tự như Migration.

Để sử dụng được cần các điều kiện sau:

  • Trước tiên phải kết nối Database. Hãy xem lại bài 1 tại đây
  • Tiếp đó Migration cũng phải nằm trong App\database\migrations

Cách tạo migration

Để thực hiện bạn cần mở CMD trên máy tính bằng cách ấn phím biểu tượng cửa số Windows + R sau đó gõ cmd

Bạn cài đặt XAMPP ở ổ C: thì gõ cd C:\xampp\htdocs\thu_muc

Như hình dưới là mình đặt tại ổ E nên sẽ gõ như hình

migrations

Gõ lệnh sau để tạo một bảng tên là newdata

php artisan make:migration create_newdata_table

Vào thư mục database => migrations bạn sẽ thấy một tập tin mới được tạo ra. Hãy mở file này lên

migrations-1

Tiếp theo mình sẽ sửa lại một chút ở chỗ function up {}

public function up()
{
    Schema::create('newdata', function (Blueprint $table) {
        $table->increments('id');
        $table->string('username');
        $table->string('password');
        $table->timestamps();
    });
}

Mình sẽ ấn lưu lại tập tin vừa mới sửa xong. Tiếp tục gõ lệnh dưới vào CMD

php artisan migrate

Và sau đó mình kiểm tra lại Database đã thấy xuất hiện một bảng tên là newdata

migrations-2

Các kiểu column thường sử dụng

  • $table->string(‘username’): tương đương với varchar
  • $table->string(‘username’, 100): tương đương với varchar có độ dài
  • $table->primary(‘id’): Thêm khóa chính là id
  • $table->timestamps(): thêm vào hai column created_at và updated_at
  • $table->text(‘username’): tương đương với text
  • $table->increments(‘id’); Tự động tăng cột tương đương UNSIGNED INTEGER (khóa chính).
  • $table->date(‘created_at’); Cột tương đương DATE.
  • $table->dateTime(‘created_at’); cột tương đương DATETIME
  • $table->integer(‘number’); Cột tương đương kiểu INTEGER
  • $table->longText(‘description’); Cột tương đương LONGTEXT.

Thao tác với bảng

1. Quay lại bước trước

php artisan migrate:rollback --step=1

Bạn có thể thay 1 bằng 2, 3.

2. Xóa tất cả dữ liệu

Lệnh này không nên dùng tùy tiện nhé sẽ mất hết dữ liệu trước đó đấy.

php artisan migrate:refresh

Và

php artisan migrate:fresh --seed

Như vậy bạn đã biết cách sử dụng Migration trong Laravel rồi đó. Nó sẽ cực kỳ hữu ích đối với lập trình viên do không phải viết các lệnh MySQL dài loằng ngoằng. Qua bài viết này sẽ giúp bạn hiểu hơn về cách tạo và sử dụng Migration.

Cùng chủ đề

Bình luận!

Xin lưu ý rằng tất cả các bình luận đều được kiểm duyệt theo chính sách bảo mật và tất cả các liên kết đều là nofollow. KHÔNG sử dụng từ khóa trong trường tên. Hãy để lại một cuộc trò chuyện cá nhân và ý nghĩa. *