def create_table(self, table_name, **options): # 如果数据表名字已存在,抛出数据表已存在异常 if table_name in self.__table_objs: raise Exception('table exists') # 追加数据表名字 self.__table_names.append(table_name) # 新建一个数据表对象,并且与数据表名字关联绑定 self.__table_objs[table_name] = Table(**options)
def deserialized(obj): # 解析 Json 字符串为 dict 字典 data = SerializedInterface.json.loads(obj) # 使用解析出来的数据库名字实例化一个 Database 对象 obj_tmp = Database(data['name']) # 遍历所有 Table Json 字符串,依次调用 Table 对象的反序列化方法,再添加到刚刚实例化出来的 Database 对象中 for table_name, table_obj in data['tables']: obj_tmp.add_table(table_name, Table.deserialized(table_obj)) # 返回 Database 对象 return obj_tmp
def create_table(self, table_name, **options): if table_name in self.__table_objs: raise Exception('table exist') self.__table_names.append(table_name) self.__table_objs[table_name] = Table(**options)