aerich/alice/backends/__init__.py
2020-05-11 00:09:13 +08:00

37 lines
978 B
Python

from typing import Type
from tortoise import Model, BaseDBAsyncClient
from tortoise.backends.base.schema_generator import BaseSchemaGenerator
class DDL:
schema_generator_cls: Type[BaseSchemaGenerator] = BaseSchemaGenerator
def __init__(self, client: "BaseDBAsyncClient", model: "Type[Model]"):
self.model = model
self.schema_generator = self.schema_generator_cls(client)
def create_table(self):
return self.schema_generator._get_table_sql(self.model, True)['table_creation_string']
def drop_table(self):
return f'drop table {self.model._meta.db_table}'
def add_column(self):
raise NotImplementedError()
def drop_column(self):
raise NotImplementedError()
def add_index(self):
raise NotImplementedError()
def drop_index(self):
raise NotImplementedError()
def add_fk(self):
raise NotImplementedError()
def drop_fk(self):
raise NotImplementedError()