"""
Dialect specifics for SQLite.
"""
from typing import final
from Ligare.database.schema.dialect import DialectBase
from sqlalchemy.engine import Dialect
from typing_extensions import override
[docs]
@final
class SQLiteDialect(DialectBase):
DIALECT_NAME = "sqlite"
_dialect: Dialect
supports_schemas: bool = False
[docs]
def __init__(self, dialect: Dialect) -> None:
if dialect.name != SQLiteDialect.DIALECT_NAME:
raise ValueError(
f"Invalid Dialect with name `{dialect.name}` provided for `{SQLiteDialect.__name__}`. Expected `{self.DIALECT_NAME}`."
)
self._dialect = dialect
@property
@override
def dialect(self) -> Dialect:
return self._dialect
@property
@override
def timestamp_sql(self):
return "CURRENT_TIMESTAMP"