The version is ok: 0.5.3 The problem is I don't know how to do the unit tests: no tests package. from tests import eq_, Comparable
How can i do the unit tests? Suha On Thu, Mar 26, 2009 at 19:04, Michael Bayer <[email protected]> wrote: > > not sure. make sure you're on 0.5.3. do the unit tests included with > the recipe pass ? > > > Suha Onay wrote: >> Thanks for the recipe.I faced with an error. >> >> The model is now: >> ------------------------------------------------------------------------------ >> from history_meta import VersionedMeta >> >> Base = declarative_base(metaclass=VersionedMeta) >> >> class User(Base): >> __tablename__ = 'users' >> >> id = sa.Column(sa.Integer, primary_key=True) >> name = sa.Column(sa.Unicode(12)) >> fullname = sa.Column(sa.Unicode(40)) >> password = sa.Column(sa.Unicode(20)) >> active = sa.Column(sa.Boolean()) >> type = sa.Column(sa.SmallInteger()) >> note = sa.Column(sa.Text()) >> date_created = sa.Column(sa.Date()) >> ------------------------------------------------------------------------------ >> Session = sessionmaker(bind=engine, autocommit=False, autoflush=True, >> expire_on_commit=False, extension=VersionedListener()) >> ------------------------------------------------------------------------------ >> >> When inserting a new user, the error occurs: >> sqlite3: <class 'sqlalchemy.exc.IntegrityError'> -=> ('(IntegrityError) >> users.version may not be NULL',) >> postgre: <class 'sqlalchemy.exc.IntegrityError'> -=> ('(IntegrityError) >> null >> value in column "version" violates not-null constraint\n',) >> >> The code in history_meta creates the column version with default value 1: >> cls.version = Column('version', Integer, default=1, nullable=False) >> >> What is the reason? >> Thanks. >> >> Suha >> >> >> >> On Wed, Mar 25, 2009 at 17:17, Michael Bayer >> <[email protected]>wrote: >> >>> >>> I've placed a recipe for this on the wiki at >>> http://www.sqlalchemy.org/trac/wiki/UsageRecipes/LogVersions >>> . >>> >>> >>> On Mar 25, 2009, at 10:12 AM, Suha Onay wrote: >>> >>> > >>> > Hi, >>> > >>> > I am using sqlalchemy for a while in a project. >>> > The project has lots of models like User: >>> > >>> ------------------------------------------------------------------------------ >>> > from mcmodel import MCModel >>> > >>> > Base = declarative_base() >>> > >>> > class User(MCModel, Base): >>> > __tablename__ = 'users' >>> > >>> > id = sa.Column(sa.Integer, primary_key=True) >>> > name = sa.Column(sa.Unicode(12)) >>> > fullname = sa.Column(sa.Unicode(40)) >>> > password = sa.Column(sa.Unicode(20)) >>> > active = sa.Column(sa.Boolean()) >>> > type = sa.Column(sa.SmallInteger()) >>> > note = sa.Column(sa.Text()) >>> > date_created = sa.Column(sa.Date()) >>> > >>> ------------------------------------------------------------------------------ >>> > All of these models inherit from MCModel (nothing doing special). >>> > >>> > I want to save all the changes done to a user in a seperate db table >>> > like "_hist_users". >>> > The new inserts do not need to be in the hist table. >>> > When a user is updated, the old data of the user will be copied to the >>> > hist table with a column declaring this is an update operation. >>> > When a user is deleted, the old data of the user will be moved to the >>> > hist table with a column declaring this is a delete operation. >>> > With these operations, it is possible to know who modified what and >>> > when. >>> > >>> > How can i achieve in this? >>> > By modifying the MCModel to enable all the models aware of history >>> > backup? >>> > Or using class sqlalchemy.orm.interfaces.MapperExtension.after_update >>> > methods? (i do not know how) >>> > Or anything else? >>> > >>> > Thanks in advance. >>> > >>> > Suha >>> > >>> > >>> > >>> > >>> > >>> > >>> > > >>> >>> >>> > >>> >> >> > >> > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---
