微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于Dragonboard 410c的智能魔镜设计(2)——如何设计数据库

基于Dragonboard 410c的智能魔镜设计(2)——如何设计数据库

时间:02-13 来源:互联网 点击:

在上述代码中,我们就可以通过在主函数中构建该类,完成对数据库的初始化,创建系统数据库,具体如下:

     if __name__=="__main__":
    import sys
    MMDB=MagicMirrorDB("./MagicMirrorDB.db")
    print(MMDB.getUserAvatarImg(1))
    result=MMDB.getUserVideoMessageList(1)
    print(result)
    result2=MMDB.getTextMessageList(1)
    print(result2)
    sys.exit(0)    

这样,在设计其他模块之前,我们就可以运行该脚本,完成数据库的创建,创建后,可以通过执行sqlite3命令查看数据库设计是否正确。

同样为了方便测试,在这里还构建了一个自动生成测试数据的函数,具体如下,通过执行该函数可以快速的生成测试信息填充数据库,就可以在后续设计模块的过程中利用这些数据进行测试。

    def insertTestData(self,userInfo_n,pushInfo_n):
        for userID in range(1,userInfo_n):
            format="test%u"
            values=(userID)
            userName=format % values
            format="password_test%u"
            password=format % values
            format="email_test%uqq.com"
            userEmail=format % values
            format="phone_test%u"
            userPhone=format % values
            format="haarValue_test%u"
            haarValues=format % values
            avatar=(random.randint(1,8))
            format="./avatarImg/headImg/ali1/%u.gif"
            avatarImg=format % avatar
            format="insert into userInfo values(%u,'%s','%s','%s','%s','%s','%s')"
            values=(userID,userName,password,userEmail,userPhone,haarValues,avatarImg)
            insertSQL=format % values
            #print(insertSQL)
            self.cu.execute(insertSQL)
        for infoID in range(1,pushInfo_n):
            ownerID=random.randint(1,userInfo_n)
            pushID=random.randint(1,userInfo_n)
            infoType=random.randint(0,1)
            isTop=random.randint(0,1)
            viewWeight=random.randint(1,8)
            format = "infoSubject_pID:%u_wID:%u"
            values=(pushID,ownerID)
            infoSubject=format % values
            format = "infoContent_pID:%u_wID:%u"
            values=(pushID,ownerID)
            infoContent=format % values
            filePath=""
            if infoType==1:
                format="./messageFile/ownerID%u/pushID%u_%u.mp4"
                values=(ownerID,pushID,infoID)
                filePath=format % values
            else:
                filePath="None"
            pushTime=time.time()
            format="insert into pushInfo values(%u,%u,%u,%u,'%s','%s','%s',%f,1.0,%u,%u)"
            values=(infoID,ownerID,pushID,infoType,infoSubject,infoContent,filePath,pushTime,isTop,viewWeight)
            insertSQL=format % values
            #print(insertSQL)
            self.DB.execute(insertSQL)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top