21 lines
1.0 KiB
Python
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
|
|
) |