from abc import ABC, abstractmethod
class DBAdapter(ABC):
@abstractmethod
def __init__(self, db_config):
pass
@abstractmethod
def connect(self):
pass
@abstractmethod
def disconnect(self):
pass
@abstractmethod
def select(self, table, columns, condition):
pass
@abstractmethod
def insert(self, table, data):
pass
@abstractmethod
def update(self, table, data, condition):
pass
@abstractmethod
def delete(self, table, condition):
pass
@abstractmethod
def alter(self, table, instruction):
pass
@abstractmethod
def create_table(self, table_name, schema=None):
"""Создает таблицу/коллекцию"""
pass
@abstractmethod
def drop_table(self, table_name):
"""Удаляет таблицу/коллекцию"""
pass
@abstractmethod
def execute_raw(self, query):
"""Выполняет сырой SQL запрос"""
pass