from extensions import db # Modelo para armazenar as colunas das tabelas dinâmicas class DynamicColumn(db.Model): __tablename__ = 'dynamic_columns' id = db.Column(db.Integer, primary_key=True) column_name = db.Column(db.String(255), nullable=False) # Nome da coluna column_type = db.Column(db.String(50), nullable=False) # Tipo da coluna is_nullable = db.Column(db.Boolean, default=True) # Se a coluna pode ser nula is_foreign_key = db.Column(db.Boolean, default=False) # Se a coluna é uma chave estrangeira related_table_id = db.Column(db.Integer, db.ForeignKey('dynamic_tables.id'), nullable=True) # Tabela relacionada para chave estrangeira table_id = db.Column(db.Integer, db.ForeignKey('dynamic_tables.id'), nullable=False) # Relacionamento com a tabela # Relacionamento com a DynamicTable usando o campo `related_table_id` related_table = db.relationship( 'DynamicTable', foreign_keys=[related_table_id], backref='related_columns', lazy=True )