您的位置:首页 > 编程语言 > Python开发

用python写1个简单的聊天服务器5-DB层处理

2013-06-28 18:12 127 查看
一直以来都很讨厌数据库,觉得数据库一直是我的噩梦。

最近开始考虑分层思想以后,了解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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: