Insert migration1 objects. Also, Level1 id from Integer->Unicode

This commit is contained in:
Christopher Allan Webber 2012-01-16 14:39:24 -06:00
parent 248b5061ec
commit 64d280647c

View File

@ -20,6 +20,7 @@ from sqlalchemy import (
Table, Column, MetaData, Index Table, Column, MetaData, Index
Integer, Float, Unicode, UnicodeText, DateTime, Boolean, Integer, Float, Unicode, UnicodeText, DateTime, Boolean,
ForeignKey, UniqueConstraint, PickleType) ForeignKey, UniqueConstraint, PickleType)
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.sql import select, insert from sqlalchemy.sql import select, insert
from migrate import changeset from migrate import changeset
@ -48,7 +49,7 @@ class Creature1(Base1):
class Level1(Base1): class Level1(Base1):
__tablename__ = "level" __tablename__ = "level"
id = Column(Integer, primary_key=True) id = Column(Unicode, primary_key=True)
name = Column(Unicode, unique=True, nullable=False, index=True) name = Column(Unicode, unique=True, nullable=False, index=True)
description = Column(UnicodeText) description = Column(UnicodeText)
exits = Column(PickleType) exits = Column(PickleType)
@ -83,7 +84,7 @@ class CreaturePower2(Base2):
class Level2(Base2): class Level2(Base2):
__tablename__ = "level" __tablename__ = "level"
id = Column(Integer, primary_key=True) id = Column(Unicode, primary_key=True)
name = Column(Unicode) name = Column(Unicode)
description = Column(UnicodeText) description = Column(UnicodeText)
@ -93,9 +94,9 @@ class LevelExit2(Base2):
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
name = Column(Unicode) name = Column(Unicode)
from_level = Column( from_level = Column(
Integer, ForeignKey('level.id'), nullable=False) Unicode, ForeignKey('level.id'), nullable=False)
to_level = Column( to_level = Column(
Integer, ForeignKey('level.id'), nullable=False) Unicode, ForeignKey('level.id'), nullable=False)
SET2_MODELS = [Creature2, CreaturePower2, Level2, LevelExit2] SET2_MODELS = [Creature2, CreaturePower2, Level2, LevelExit2]
@ -199,7 +200,7 @@ class CreaturePower3(Base3):
class Level3(Base3): class Level3(Base3):
__tablename__ = "level" __tablename__ = "level"
id = Column(Integer, primary_key=True) id = Column(Unicode, primary_key=True)
name = Column(Unicode) name = Column(Unicode)
description = Column(UnicodeText) description = Column(UnicodeText)
@ -209,9 +210,9 @@ class LevelExit3(Base3):
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
name = Column(Unicode) name = Column(Unicode)
from_level = Column( from_level = Column(
Integer, ForeignKey('level.id'), nullable=False, index=True) Unicode, ForeignKey('level.id'), nullable=False, index=True)
to_level = Column( to_level = Column(
Integer, ForeignKey('level.id'), nullable=False, index=True) Unicode, ForeignKey('level.id'), nullable=False, index=True)
SET3_MODELS = [Creature3, CreaturePower3, Level3, LevelExit3] SET3_MODELS = [Creature3, CreaturePower3, Level3, LevelExit3]
@ -252,3 +253,38 @@ def creature_power_hitpower_to_float(db_conn):
'creature_power', metadata, 'creature_power', metadata,
autoload=True, autoload_with=db_conn.engine) autoload=True, autoload_with=db_conn.engine)
creature_power.c.hitpower.alter(type=Float) creature_power.c.hitpower.alter(type=Float)
def _insert_migration1_objects(session):
# Insert creatures
session.add_all(
[Creature1(name='centipede',
num_legs=100,
is_demon=False),
Creature1(name='wolf',
num_legs=4,
is_demon=False),
# don't ask me what a wizardsnake is.
Creature1(name='wizardsnake',
num_legs=0,
is_demon=True)])
session.add_all(
[Level1(id='necroplex',
name='The Necroplex',
description='A complex full of pure deathzone.',
exits={
'deathwell': 'evilstorm',
'portal': 'central_park'}),
Level1(id='evilstorm',
name='Evil Storm',
description='A storm full of pure evil.',
exits={}), # you can't escape the evilstorm
Level1(id='central_park'
name='Central Park, NY, NY',
description="New York's friendly Central Park.",
exits={
'portal': 'necroplex'})])
session.commit()