一直以来都很讨厌数据库,觉得数据库一直是我的噩梦。
最近开始考虑分层思想以后,了解ORM以后,觉得数据库其实没那么讨厌,没那么难。
于是开始设计字段。
用户
DROP TABLE IF EXISTS "user"; CREATE TABLE "user" ( "uid" integer NOT NULL, "username" text(32,0) NOT NULL, "password" text(32,0) NOT NULL, "sex" integer NOT NULL DEFAULT 0, "description" text(256,0), PRIMARY KEY("uid") );
好友关系
DROP TABLE IF EXISTS "relationship"; CREATE TABLE "relationship" ( "rid" integer NOT NULL, "user1id" integer NOT NULL, "user2id" integer NOT NULL, PRIMARY KEY("rid") );
离线聊天消息
CREATE TABLE "offlinemsg" ( "oid" integer NOT NULL, "fromuserid" integer, "touserid" integer NOT NULL, "msg" text(1024,0) NOT NULL, "last_date" date NOT NULL, PRIMARY KEY("oid") );
离线添加好友请求
DROP TABLE IF EXISTS "offlineaddfriend"; CREATE TABLE "offlineaddfriend" ( "aid" integer NOT NULL, "fromid" integer NOT NULL, "toid" integer NOT NULL, "msg" text(256,0) NOT NULL, "lastdate" date NOT NULL, PRIMARY KEY("aid") );
还有2张表就不发了。有了以上数据库搞定。
下面是ORM。
用到的是sqlalchemy。具体使用部分可以参考官方文档或这里
db设计好以后,就是db数据处理。为了保持业务的和DB层无关,所有关于DB的处理都存放到这里
设计1个DBEngine