Files
SQLBot/backend/apps/datasource/crud/field.py
T

28 lines
1.2 KiB
Python

from common.core.deps import SessionDep
from ..models.datasource import CoreField, FieldObj
from sqlalchemy import or_, and_
def delete_field_by_ds_id(session: SessionDep, id: int):
session.query(CoreField).filter(CoreField.ds_id == id).delete(synchronize_session=False)
session.commit()
def get_fields_by_table_id(session: SessionDep, id: int, field: FieldObj):
if field and field.fieldName:
return session.query(CoreField).filter(
and_(CoreField.table_id == id, or_(CoreField.field_name.like(f'%{field.fieldName}%'),
CoreField.field_name.like(f'%{field.fieldName.lower()}%'),
CoreField.field_name.like(f'%{field.fieldName.upper()}%')))).order_by(
CoreField.field_index.asc()).all()
else:
return session.query(CoreField).filter(CoreField.table_id == id).order_by(CoreField.field_index.asc()).all()
def update_field(session: SessionDep, item: CoreField):
record = session.query(CoreField).filter(CoreField.id == item.id).first()
record.checked = item.checked
record.custom_comment = item.custom_comment
session.add(record)
session.commit()