from sqlalchemy import Boolean, Column, ForeignKey, Integer, String from sqlalchemy.orm import relationship from datetime import date from .database import Base # class User(Base): # __tablename__ = "users" # id = Column(Integer, primary_key=True, index=True) # email = Column(String, unique=True, index=True) # hashed_password = Column(String) # is_active = Column(Boolean, default=True) # items = relationship("Item", back_populates="owner") class Usuario(Base): __tablename__ = "usuarios" id = Column(Integer,primary_key=True,index=True) nombre = Column(String(20),index=True) apellido = Column(String(20),index=True) fecha_nacimiento =Column(date,index=True) alias = Column(String(20), unique=True) email = Column(String(20),unique=True) password = Column(String(20)) publicaciones = relationship("Publicacion",back_populates="usuario") comentarios = relationship("Comentario",back_populates="usuario") class Publicacion(Base): __tablename__="publicaciones" id = Column(Integer,primary_key=True,index=True) texto = Column(String(255)) fecha = Column(date,index=True) likes = Column(Integer,index=True) user_id = Column(Integer,ForeignKey("usuarios.id"), nullable=True) usuario = relationship("Usuario",back_populates="publicaciones") comentarios =relationship("Comentario",secondary="publicacion_comentario",back_populates="publicaciones") class Comentario(Base): __tablename__ ="comentarios" id = Column(Integer,primary_key=True) fecha = Column(date) texto = Column(String(255)) likes = Column(Integer) user_id = Column(Integer,ForeignKey("usuarios.id"), nullable=True) usuario = relationship("Usuario",back_populates="comentarios") publicaciones = relationship("Publicacion",secondary="publicacion_comentario",back_populates="comentarios") class PublicacionComentario: __tablename__="publicacion_comentario" publicacion_id = Column(Integer,ForeignKey=("publicaciones.id")) comentario_id = Column(Integer,ForeignKey=("comentarios.id"))