Skip to content

Instantly share code, notes, and snippets.

@dingyaguang117
Created April 21, 2014 09:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dingyaguang117/11137797 to your computer and use it in GitHub Desktop.
Save dingyaguang117/11137797 to your computer and use it in GitHub Desktop.
__author__ = 'ding'
from sqlalchemy import Column, Sequence, ForeignKey
from sqlalchemy.types import CHAR, Integer, String, DateTime
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from webservice.conf import mysql_engine
BaseModel = declarative_base()
class User(BaseModel):
__tablename__ = 'users'
id = Column(Integer, Sequence('usr_id_seq'), primary_key=True)
uuid = Column(String(50))
name = Column(CHAR(30))
passwd = Column(CHAR(30))
createTime = Column(DateTime)
lastLogin = Column(DateTime)
email = Column(CHAR(30))
age = Column(Integer)
province = Column(CHAR(30))
city = Column(CHAR(30))
gender = Column(CHAR(1))
platform = Column(CHAR(10))
version = Column(Integer)
class Room(BaseModel):
__tablename__ = 'rooms'
id = Column(Integer, Sequence('room_id_seq'), primary_key=True)
name = Column(CHAR(30))
members = relationship('RoomMember', backref='room')
class RoomMember(BaseModel):
__tablename__ = 'roomMembers'
id = Column(Integer, Sequence('roomMember_id_seq'), primary_key=True)
roomId = Column(Integer, ForeignKey("rooms.id"))
userId = Column(Integer, ForeignKey("users.id"))
enterTime = Column(DateTime)
user = relationship('User', backref='room_assocs')
def init_db():
BaseModel.metadata.create_all(mysql_engine)
def drop_db():
BaseModel.metadata.drop_all(mysql_engine)
if __name__ == '__main__':
init_db()
#drop_db()
# Session = sessionmaker(bind=mysql_engine)
# session = Session()
# room = Room(name="room1")
# user = User(name="ding")
# session.add(user)
# session.commit()
# room.members = [RoomMember(userId=user.id),RoomMember(userId=user.id)]
# session.add(room)
# session.commit()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment