Mercurial > hg > Feedworm
view Mapping.py @ 30:ee1432a91141
map the potentially long columns as Text (CLOB) not as String (VARCHAR)
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Thu, 29 Apr 2010 16:49:45 +0200 |
parents | 74481aa49974 |
children | 5813e3c10f14 |
line wrap: on
line source
from Feed import Feed from FeedEntry import FeedEntry from sqlalchemy import Column from sqlalchemy import DateTime from sqlalchemy import ForeignKey from sqlalchemy import Integer from sqlalchemy import MetaData from sqlalchemy import String from sqlalchemy import Table from sqlalchemy import Text from sqlalchemy.orm import mapper from sqlalchemy.orm import relation def createMapping(engine): metadata = MetaData(engine) feedTable = Table("feed", metadata, Column("pk", Integer, primary_key=True), Column("title", String(255), nullable=False), Column("rss_url", String(255), nullable=False) ) feedEntryTable = Table("feed_entry", metadata, Column("pk", Integer, primary_key=True), Column("create_timestamp", DateTime, nullable=False), Column("read", Integer, nullable=False), Column("id", String(255), nullable=False), Column("link", String(255), nullable=False), Column("title", Text, nullable=False), Column("summary", Text, nullable=False), Column("updated", DateTime), Column("feed_id", Integer, ForeignKey("feed.pk")) ) metadata.create_all() mapper(FeedEntry, feedEntryTable) mapper(Feed, feedTable, properties = { "entries" : relation(FeedEntry, backref = "feed") } )