Ebook2LateX (5) - Cài đặt hệ quản trị cơ sở dữ liệu

Bài trước: Ebook2LateX (4) - Khởi tạo dự án
-----

5. Cài đặt hệ quản trị cơ sở dữ liệu

Phần này sẽ cài đặt hệ quản trị cơ sở dữ liệu để lưu trữ thông tin tập tin (PDF) và các nội dung LaTeX đã được trích xuất.

Bước 1. Cài đặt PostgreSQL

- Tải phần mềm: Truy cập trang chủ PostgreSQL (https://www.postgresql.org/) và tải bản cài đặt phù hợp với hệ điều hành bạn đang sử dụng (Windows/Linux/macOS)

- Thực hiện cài đặt như một chương trình bình thường

- Cấu hình ban đầu: Thiết lập mật khẩu cho tài khoản quản trị mặc định (tài khoản: postgres; mật khẩu: p@ssword1)

- Ghi nhớ cổng kết nối mặc định (thường là 5432)

- Sau khi cài đặt PostgreSQL thành công, sử dụng công cụ pgAdmin4 (được cài đặt tự động với quá trình cài đặt PostgresQL) để đăng nhập vào hệ thống

Bước 2. Tạo Database cho dự án

(sử dụng pgAdmin4)

- Mở pgAdmin4 và đăng nhập với mật khẩu đã tạo ở bước cài đặt (postgres - p@ssword1)

- Chuột phải vào mục Databases -> chọn Create -> Database…

- Tại ô Database, nhập tên: ebook2latex_db

- Nhấn Save

Bước 3: Cấu hình chuỗi kết nối trong tập tin .env

Để ứng dụng Backend (FastAPI) có thể giao tiếp với cơ sở dữ liệu mà vẫn đảm bảo tính bảo mật, chúng ta lưu thông tin cấu hình trong tập tin môi trường.

- Truy cập vào thư mục backend/ của dự án

- Tạo một tập tin mới tên là .env (nếu chưa có)

- Thêm nội dung cấu hình chuỗi kết nối theo định dạng của SQLAlchemy như sau:

[.env]

# Định dạng: postgresql://[user]:[password]@[host]:[port]/[database_name]

DATABASE_URL=postgresql://postgres:mat_khau_cua_ban@localhost:5432/ebook2latex_db

Giải thích các thành phần của đoạn mã trên:

- postgres: Tên người dùng mặc định

- mat_khau_cua_ban: Thay bằng mật khẩu bạn đã thiết lập ở bước cài đặt

- localhost: Chạy trên máy cục bộ (hoặc db nếu bạn chạy trong Docker)

- 5432: Cổng mặc định của PostgreSQL

- ebook2latex_db: Tên cơ sở dữ liệu vừa tạo

Việc tách và lưu thông tin cấu hình ra tập tin .env giúp bạn dễ dàng thay đổi môi trường (từ máy cá nhân sang Docker hoặc Cloud) mà không cần sửa mã nguồn ứng dụng.

-----
Bài sau: Ebook2LateX (6) - Phân tích và thiết kế các bảng