front_ponto_eletronico/models/dinamic_column.py
2025-03-17 15:00:51 -03:00

21 lines
1.0 KiB
Python

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
)