On Sat, 10 May 2008 14:06:12 +0530
"Sandesh Singh" <[EMAIL PROTECTED]> wrote:
> It would be best if the auditing columns could be defined in one
> place, and then added to all the tables individually. I believe the
> solution may have more to do with Python than with SQLAlchemy itself.
This is my solution to that very same problem:
def addTimestamp(table):
table.append_column(Column('rec_creato', timestamp_t))
table.append_column(Column('rec_creato_da', username_t))
table.append_column(Column('rec_modificato', timestamp_t))
table.append_column(Column('rec_modificato_da', username_t))
...
mytable = Table('mytable', metadata,
Column('id, smallid_t, primary_key=True),
...
)
addTimestamp(mytable)
I use Postgres, and all my tables "inherits" from a "timestamped"
abstract table that contains those fields. I did try to use an
equivalent setup also for the SA definition, by subclassing
Table... but ran into strange issues: a demo session was getting
closer, so I went for the above solution.
I have another little issue with that: I'd like to be able to say that
those fields behave like a readonly and database-generated value (they
are effectively overwritten by a database trigger, at insert/update
time), possibly without resorting to marking them "defer" on each
mapped entity... Any magical shortcut to achieve that? :-)
hth,
ciao, lele.
--
nickname: Lele Gaifax | Quando vivrò di quello che ho pensato ieri
real: Emanuele Gaifas | comincerò ad aver paura di chi mi copia.
[EMAIL PROTECTED] | -- Fortunato Depero, 1929.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---