Source code for dbeasyorm.db.backends.abstract

from abc import ABC, abstractmethod
from dbeasyorm.fields import BaseField


[docs] class DataBaseBackend(ABC):
[docs] @abstractmethod def get_placeholder(self) -> str: ...
[docs] @abstractmethod def get_sql_type(self, type: type) -> str: ...
[docs] @abstractmethod def get_sql_types_map(self) -> dict: ...
[docs] @abstractmethod def get_foreign_key_constraint(self, field_name, related_table, on_delete) -> str: ...
[docs] @abstractmethod def connect(self, *args, **kwargs) -> object: ...
[docs] @abstractmethod def execute(self, query: str, params=None): ...
[docs] def generate_insert_sql(self, table_name: str, columns: tuple) -> str: ...
[docs] @abstractmethod def generate_select_sql(self, table_name: str, columns: tuple, where_clause: tuple, limit: int = None, offset: int = None) -> str: ...
[docs] @abstractmethod def generate_join_sql(self, table_name: str, on: str, join_type: str) -> str: ...
[docs] @abstractmethod def generate_update_sql(self, table_name: str, set_clause: tuple, where_clause: tuple) -> str: ...
[docs] @abstractmethod def generate_delete_sql(self, table_name: str, where_clause: tuple) -> str: ...
[docs] @abstractmethod def generate_create_table_sql(self, table_name: str, fields: BaseField) -> str: ...
[docs] @abstractmethod def generate_alter_field_sql(self, *args, **kwargs) -> str: ...
[docs] @abstractmethod def generate_drop_field_sql(self, *args, **kwargs) -> str: ...
[docs] @abstractmethod def generate_drop_table_sql(self, table_name: str) -> str: ...
[docs] @abstractmethod def get_database_schemas(self) -> dict: ...