Chia sẻ của học viên

Hướng dẫn sử dụng PgAdmin cho dự án Laravel Fullstack

PT
Phạm Thị Diệu Linh
Xuất bản 10/25/2024・Cập nhật 10/25/2024

Bạn cần một công cụ mạnh mẽ, đầy đủ chức năng, và lại có giao diện đồ họa thân thiện để quản trị PostgreSQLPgAdmin chính là công cụ bạn cần. PgAdmin là một công cụ quản lý PostgreSQL Database cung cấp nhiều tính năng như kết nối tới PostgreSQL, thực thi SQL Query, backup và khôi phục Database.

1/ Hướng dẫn cài đặt và cấu hình ProsgreSQL

Bước 1: Trước tiên để download PgAdmin thì cần dùng browser để truy cập vào đường link sau:

https://www.postgresql.org/download

Bước 2: Chạy file exe vừa download và thực hiện các bước cài đặt thông thường.

080418_0846_HowtoDownlo5.webp

Tiếp theo đến bước dưới đây cân thực hiện bỏ check Stack Builder.

080418_0846_HowtoDownlo7.webp

Cuối cùng, cài đặt password và lựa chọn cổng kết nối mặc định như vậy là PostgreSql đã được cài đặt thành công.

080418_0846_HowtoDownlo10.webp

Bước 3: Sau khi cài đặt thành công PgAdmin, bấm vào biểu tượng của pgAdmin 4 để mở homepage

080418_0846_HowtoDownlo15.webp

Tại đây tiến hành cài đặt user người dùng và tạo server để chứa database.

080418_0846_HowtoDownlo16.webp

080418_0846_HowtoDownlo17.webp

2/ Hướng dẫn sử dụng PgAdmin kết nối với dự án Laravel

Bước 1: Để PgAdmin có thể nhận được database của dự án trước hết tại dự án của mình, các bạn cần khởi tạo các migrate files tại dự án của mình.

Để khởi tạo các migrations này các bạn cần thực hiện câu lệnh sau tại terminal:

php artisan make:migration create_flights_table

Dưới đây là một ví dụ cho 1 file migration sau khi câu lệnh trên được thực thì.

<?php
 
use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;
 
return new class extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('flights', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('airline');
            $table->timestamps();
        });
    }
 
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('flights');
    }
};

Các migration này sẽ tự động được thêm vào PgAdmin database sau khi các bạn thực hiện seeding table.

php artisan make:seeder UserSeeder

Để kiểm tra tình trạng migration files thì các bạn có thể chạy câu lệnh sau để kiểm tra:

php artisan migrate:status

Trong một số trường hợp migrations bị gián đoạn hoặc phát sinh các lỗi, các bạn có thể khắc phục vấn đề này bằng cách chạy câu lệnh sau:

php artisan migrate:rollback

Câu lệnh trên là lệnh giúp các bạn quay trở về lần migrate trước đó.

Ngoài ra trong một số trường hợp, người dùng muốn xóa bỏ hoàn toàn database của mình thì thể dùng câu lệnh sau để xóa bỏ hoàn toàn database của mình:

php artisan migrate:fresh
 
php artisan migrate:fresh --seed

Bước 2: Thực hiện khỏi tạo bảng và chỉnh sửa nội dung của bảng.

Một ví dụ của nội dung của một table được tạo

use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;
 
Schema::create('users', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->integer('parent_id')->unsigned()->nullable();
    $table->decimal('trx_fee_usd', 20, 6);
    $table->timestamps();
});

Như các bạn có thể thấy ở đây, từng cột của bảng đã được quy định bằng các thuộc tính nhất định. Vi dụ Integer(số nguyên), timestamps(thời gian hiện tại). Việt thay đổi thuộc tính của bảng như trên còn có thể được thực hiện trược tiếp trong bảng của PgAdmin.

image-24.png

Bước 3: Cách CRUD với PgAdmin

A/ Truy xuất dữ liệu tử bảng

Để truy xuất dữ liệu tử database các bạn có thể thược hiện các câu lệnh như sau:

    public function index()
    {
        $you = auth()->user()->id;(Bước validate user optional)
        $users = DB::table('.....Tên bảngđược truy xuất.....')
        ->select('.......Các cột cần truy xuất......')

        ->get();
        return response()->json(... );
    }
B/ Cập nhật dữ liệu của bảng

Để cập nhật dữ liệu cho bảng các bạn cần thực hiện câu lệnh như sau:

public function update(Request $request, $id)
    {
        $validatedData = $request->validate([
            'name'       => 'required|min:1|max:256',
            'email'      => 'required|email|max:256'
        ]);
        $user = User::find($id); (.....tìm kiếm theo user id.....)
        $user->name       = $request->input('name');
        $user->email      = $request->input('email');
        $user->save();
        //$request->session()->flash('message', 'Successfully updated user');
        return response()->json( ['status' => 'success'] );
    }
C/ Xóa dữ liệu của bảng
 public function delete(Request $request)
    {
        DB:: tên();
        try {
            $Tên = $request->input('Tên cột');
                $Tên biến= Tên bảng của cột::find($tên cột);
                  Tên bảng::where(...)->where('tên cột', $tên bảng->id)->delete();
                    $Tên biến->delete();
            }
            DB::commit();
            return response()->json();
        }
D/ Tạo dữ liệu mới cho bảng

Để tiến hành tạo mới data cho bảng, các bạn có thể xem mẫu sau:

public function create(Request $request)
    {
            $user= new Users();
            $user->phone          = $request->input('phone');
            $user->address      = $request->input('address ');
            $user->user_id            = auth()->user()->id;
            $user->save();
            return response()->json(ResponseHelper::getSuccess());
    }

Bước 4: Backup và Restore dữ liệu của bảng

Nhằm đảm bảo database được bảo vệ và tránh mất mát khi gặp lỗi, người dùng thường tiến hành back up file data thành các file JSON và tải về lưu trữ tại ổ cứng. Để back up data chúng ta có thể làm như hình sau:

image-25-1024x731.png

Để restore chúng ta cần có file JSON chữa dữ liệu. Sau đó chọn đường dẫn đến file này và tiến hành restore, sau khi hoàn thành sẽ được lưu lại trên PgAdmin.

image-26.png

Như vậy trên đây là phần căn bản về cách sử dụng PgAdmin cho dự án Laravel. Cảm ơn các bạn đã quan tâm bài viết, enjoy coding!

 

@ Lê Minh – Cựu học viên Onschool Bootcamp

Bạn đã sẵn sàng đổi thay sự nghiệp chưa?

Onschool Bootcamp tự hào chỉ trong 120 ngày, đào tạo thế hệ lập trình viên kiến tạo thế giới số - bắt đầu từ con số 0

Đừng quên chia sẻ bài viết này!

facebook
linkedin
x
copy
Sao chép link

Đăng ký tư vấn

Các Chương trình Đào tạo tại Onschool Bootcamp

Fullstack java web developer
Fullstack javascript (Nodejs & reactjs web developer
Fullstack Python web developer
Fullstack PHP web developer
Cross-Platform Mobile App Development
phonezalomessenger