tuanhcmute / Nhom1_CCPTPM

3 stars 0 forks source link

Hoàn thành thực hiện chỉnh sửa database #29

Closed tuanhcmute closed 1 year ago

tuanhcmute commented 1 year ago

Hoàn thành thực hiện chỉnh sửa database #29

  1. Dựa theo các sơ đồ use-case, activity, class diagram thì nhóm đã chỉnh sửa lại database cho hệ thống như sau:

Bảng User

Bảng User

  1. Thực hiện chỉnh sửa code trong hệ thống
    • File Role.py
      
      from app.extensions import db

class Role(db.Model): tablename = 'tblRole'

id = db.Column(db.Integer, primary_key=True, autoincrement=True) roleName = db.Column(db.String, unique=True, nullable=False) users = db.relationship('User', backref='Role')

def init(self, roleName): self.roleName = roleName

def repr(self) -> str: return f'<Role "{self.roleName}">'

- File User.py

from flask_login import UserMixin from app.extensions import db from app.model.role import Role

class User(db.Model, UserMixin): tablename = 'tblUser'

id = db.Column(db.Integer, primary_key=True, autoincrement=True) username = db.Column(db.String, unique=True, nullable=False) password = db.Column(db.String, nullable=False) age = db.Column(db.Integer, nullable=True) fullname = db.Column(db.String, nullable=True) address = db.Column(db.String, nullable=True) isEnable = db.Column(db.Boolean, nullable=True) roleId = db.Column(db.Integer, db.ForeignKey(Role.id))

def init(self,roleId, username, password,age=None, fullname=None, address=None, isEnable=None): self.username = username self.password = password self.age = age self.fullname = fullname self.address = address self.isEnable = isEnable self.roleId = roleId

def repr(self): return f'<User "{self.username}">'

mytranchi commented 1 year ago

Chỉnh sửa Database

Sau khi thiết kế và vẽ các Diagram nhóm em đã tiến hành chỉnh sửa model trong Project như sau

  • Với User model ta thêm các trường chứa thông tin cá nhân và trường enable để kiểm soát tài khoản
    
    class User(db.Model):
    __tablename__ = 'tblUser'

id = db.Column(db.Integer, primary_key=True, autoincrement=True) username = db.Column(db.String, unique=True, nullable=False) password = db.Column(db.String, nullable=False) age = db.Column(db.Integer, nullable=True) fullname = db.Column(db.String, nullable=True) address = db.Column(db.String, nullable=True) isEnable = db.Column(db.Boolean, nullable=True) roleId = db.Column(db.Integer, db.ForeignKey(Role.id))

- Bảng Role chứa các role như user và admin 

class Role(db.Model): tablename = 'tblRole'

id = db.Column(db.Integer, primary_key=True, autoincrement=True) roleName = db.Column(db.String, unique=True, nullable=False)

- Tạo quan hệ 1 - nhiều: Ta sẽ sử dụng 'relationship' 
Với bảng Role ta thêm dòng sau để tạo quan hệ nhiều-một

users = db.relationship('User', backref='Role')

Với bảng User ta thêm khóa ngoại roleId để tạo quan hệ một-nhiều

roleId = db.Column(db.Integer, db.ForeignKey(Role.id))