mirror of
https://gh-proxy.org/https://github.com/klinsmaya/SQLBot.git
synced 2026-11-08 01:06:59 +08:00
28 lines
1.2 KiB
Python
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()
|