feat: add models

This commit is contained in:
2024-10-27 17:29:59 -03:00
parent e160025893
commit 6e063fd7fc
5 changed files with 53 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
from app.extensions import db
class AdoptionStatus(db.Model):
id = db.Column(db.Integer, primary_key=True)
status = db.Column(db.String(255), nullable=False)

13
app/models/adoptions.py Normal file
View File

@@ -0,0 +1,13 @@
from app.extensions import db
import datetime
from sqlalchemy.orm import relationship, mapped_column
class Adoptions(db.Model) :
id = mapped_column(db.Integer, primary_key=True)
publisher_id = mapped_column(db.Integer, db.ForeignKey('user.id'), nullable=False)
pet_id = mapped_column(db.Integer, db.ForeignKey('pet.id'), nullable=False)
publish_date = mapped_column(db.DateTime, default=datetime.datetime.utcnow, nullable=False)
status_id = mapped_column(db.Integer, db.ForeignKey('adoption_status.id'), nullable=False)
publisher = relationship("User")
pet = relationship("Pet")
status = relationship("AdoptionStatus")

15
app/models/pet.py Normal file
View File

@@ -0,0 +1,15 @@
import datetime
from sqlalchemy.orm import relationship, mapped_column
from app.extensions import db
class Pet(db.Model):
id = mapped_column(db.Integer, primary_key=True)
name = mapped_column(db.String(255), nullable=False)
kind_id = mapped_column(db.Integer, db.ForeignKey('pet_kind.id'), nullable=False)
age = mapped_column(db.Integer, default=0, nullable=False)
weight = mapped_column(db.Float, default=0, nullable=False)
location = mapped_column(db.String(255), nullable=False)
sex = mapped_column(db.String(1), nullable=False)
height = mapped_column(db.Float, default=0, nullable=False)
registration_date = mapped_column(db.DateTime, default=datetime.datetime.utcnow, nullable=False)
kind = relationship("PetKind")

5
app/models/pet_kind.py Normal file
View File

@@ -0,0 +1,5 @@
from app.extensions import db
class PetKind(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255), nullable=False)

15
app/models/user.py Normal file
View File

@@ -0,0 +1,15 @@
import datetime
from sqlalchemy.orm import mapped_column
from app.extensions import db
class User(db.Model):
id = mapped_column(db.Integer, primary_key=True)
username = mapped_column(db.String(255), nullable=False)
email = mapped_column(db.String(255), nullable=False)
password = mapped_column(db.Text, nullable=False)
name = mapped_column(db.String(255), nullable=False)
lastname = mapped_column(db.String(255), nullable=False)
birth_date = mapped_column(db.Date, nullable=False)
address = mapped_column(db.String(255), nullable=False)
phone_number = mapped_column(db.String(255), nullable=False)
registration_date = mapped_column(db.DateTime, default=datetime.datetime.utcnow, nullable=False)