def drop_table(self): """ 删除当前实例对应的数据库表 Raises: exceptions.DatabaseError - 数据库出错时引发此异常 """ try: schema_manager = peewee.SchemaManager(self._model) schema_manager.drop_table() except AttributeError as e: self._handle_exception("Can not call drop table in base model!", e) except Exception as e: self._handle_exception("DB error in method drop table!", e)
def truncate_table(self): """ 清空当前实例对应的数据库表 Raises: exceptions.DatabaseError - 数据库出错时引发此异常 """ try: schema_manager = peewee.SchemaManager(self._model) schema_manager.truncate_table() except AttributeError: Logger().error("Can not call truncate table in base model!") raise exceptions.DatabaseError except Exception as e: Logger().error("Error in method truncate table!", exc_info=e) raise exceptions.DatabaseError
def create_foreign_key(field): manager = pw.SchemaManager(field.model) ctx = manager._create_foreign_key(field) return [(''.join(ctx._sql), ctx._values)]
def create_index(model, fields, unique): manager = pw.SchemaManager(model) ctx = manager._create_index(pw.ModelIndex(model, fields, unique=unique)) return [(''.join(ctx._sql), ctx._values)]
def create_table(model): manager = pw.SchemaManager(model) ctx = manager._create_table() return [(''.join(ctx._sql), ctx._values)]