classComponentModel(_Base):#Inherited functionality from the base class _Base
__tablename__='device_component'#Name of the table in the DB associtaed with this model
component_uuid=Column(UUID(as_uuid=False),primary_key=True)#Unique identifier that serves as a primary key for this table
device_uuid=Column(ForeignKey('device.device_uuid',ondelete='CASCADE'),nullable=False,index=True)#Foreign Key relationship with the field device_uuid from the Device table (CASCADE' behavior for deletion, meaning when a device is deleted, its components will also be dele)
# component_name = Column(String, nullable=False) #String field that stores the name of the component
data=Column(String,nullable=False)#String field that stores data about the component
created_at=Column(DateTime,nullable=False)#Stores the creaton timestamp for the component
updated_at=Column(DateTime,nullable=False)#Stores the last upadted timestamp for the component
device=relationship('DeviceModel',back_populates='components')# lazy='selectin'#Defines a relationship between ComponentModel and DeviceModel
#Represents a 1:n relationship where 1 device -> N components // The relationship is defined by the FK device_uuid