Remove PassiveDefaults and calculate dates in Python using utcnow. This should

be compatible with ALL databases (tested with sqlite and postgres, probably
also eliminates the need for the mysql workarounds we have in mapping.init)
This commit is contained in:
James Taylor
2007-11-08 19:56:10 +00:00
parent 0095b818f1
commit 69ddb7d83f
+27 -18
View File
@@ -14,6 +14,7 @@ try: pkg_resources.require( "psycopg2" )
except: pass
import sys
import datetime
from sqlalchemy.ext.sessioncontext import SessionContext
from sqlalchemy.ext.assignmapper import assign_mapper
@@ -26,19 +27,27 @@ from galaxy.util.bunch import Bunch
metadata = DynamicMetaData( threadlocal=False )
context = SessionContext( create_session )
now = func.current_timestamp( type=DateTime )
# NOTE REGARDING TIMESTAMPS:
# It is currently difficult to have the timestamps calculated by the
# database in a portable way, so we're doing it in the client. This
# also saves us from needing to postfetch on postgres. HOWEVER: it
# relies on the client's clock being set correctly, so if clustering
# web servers, use a time server to ensure synchronization
# Return the current time in UTC without any timezone information
now = datetime.datetime.utcnow
User.table = Table( "galaxy_user", metadata,
Column( "id", Integer, primary_key=True),
Column( "create_time", DateTime, PassiveDefault( now ) ),
Column( "update_time", DateTime, PassiveDefault( now ), onupdate=now ),
Column( "create_time", DateTime, default=now ),
Column( "update_time", DateTime, default=now, onupdate=now ),
Column( "email", TrimmedString( 255 ), nullable=False ),
Column( "password", TrimmedString( 40 ), nullable=False ) )
History.table = Table( "history", metadata,
Column( "id", Integer, primary_key=True),
Column( "create_time", DateTime, PassiveDefault( now ) ),
Column( "update_time", DateTime, PassiveDefault( now ), onupdate=now ),
Column( "create_time", DateTime, default=now ),
Column( "update_time", DateTime, default=now, onupdate=now ),
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ) ),
Column( "name", TrimmedString( 255 ) ),
Column( "hid_counter", Integer, default=1 ),
@@ -54,8 +63,8 @@ History.table = Table( "history", metadata,
Dataset.table = Table( "dataset", metadata,
Column( "id", Integer, primary_key=True ),
Column( "create_time", DateTime, PassiveDefault( now ) ),
Column( "update_time", DateTime, PassiveDefault( now ), onupdate=now ),
Column( "create_time", DateTime, default=now ),
Column( "update_time", DateTime, default=now, onupdate=now ),
Column( "hid", Integer ),
Column( "history_id", Integer, ForeignKey( "history.id" ) ),
Column( "name", TrimmedString( 255 ) ),
@@ -76,8 +85,8 @@ Dataset.table = Table( "dataset", metadata,
DatasetFileName.table = Table( "dataset_filename", metadata,
Column( "id", Integer, primary_key=True ),
Column( "create_time", DateTime, PassiveDefault( now ) ),
Column( "update_time", DateTime, PassiveDefault( now ), onupdate=now ),
Column( "create_time", DateTime, default=now ),
Column( "update_time", DateTime, default=now, onupdate=now ),
Column( "filename", TEXT ),
Column( "extra_files_path", TEXT, nullable=True, default=None ),
Column( "readonly", Boolean, default=False ) )
@@ -97,8 +106,8 @@ DatasetChildAssociation.table = Table( "dataset_child_association", metadata,
Job.table = Table( "job", metadata,
Column( "id", Integer, primary_key=True ),
Column( "create_time", DateTime, PassiveDefault( now ) ),
Column( "update_time", DateTime, PassiveDefault( now ), onupdate=now ),
Column( "create_time", DateTime, default=now ),
Column( "update_time", DateTime, default=now, onupdate=now ),
Column( "history_id", Integer, ForeignKey( "history.id" ) ),
Column( "tool_id", String( 255 ) ),
Column( "state", String( 64 ) ),
@@ -130,8 +139,8 @@ JobToOutputDatasetAssociation.table = Table( "job_to_output_dataset", metadata,
Event.table = Table( "event", metadata,
Column( "id", Integer, primary_key=True ),
Column( "create_time", DateTime, PassiveDefault( now ) ),
Column( "update_time", DateTime, PassiveDefault( now ), onupdate=now ),
Column( "create_time", DateTime, default=now ),
Column( "update_time", DateTime, default=now, onupdate=now ),
Column( "history_id", Integer, ForeignKey( "history.id" ), nullable=True ),
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), nullable=True ),
Column( "message", TrimmedString( 1024 ) ),
@@ -140,8 +149,8 @@ Event.table = Table( "event", metadata,
GalaxySession.table = Table( "galaxy_session", metadata,
Column( "id", Integer, primary_key=True ),
Column( "create_time", DateTime, PassiveDefault( now ) ),
Column( "update_time", DateTime, PassiveDefault( now ), onupdate=now ),
Column( "create_time", DateTime, default=now ),
Column( "update_time", DateTime, default=now, onupdate=now ),
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), nullable=True ),
Column( "remote_host", String( 255 ) ),
Column( "remote_addr", String( 255 ) ),
@@ -149,14 +158,14 @@ GalaxySession.table = Table( "galaxy_session", metadata,
GalaxySessionToHistoryAssociation.table = Table( "galaxy_session_to_history", metadata,
Column( "id", Integer, primary_key=True ),
Column( "create_time", DateTime, PassiveDefault( now ) ),
Column( "create_time", DateTime, default=now ),
Column( "session_id", Integer, ForeignKey( "galaxy_session.id" ) ),
Column( "history_id", Integer, ForeignKey( "history.id" ) ) )
StoredWorkflow.table = Table( "stored_workflow", metadata,
Column( "id", Integer, primary_key=True ),
Column( "create_time", DateTime, PassiveDefault( now ) ),
Column( "update_time", DateTime, PassiveDefault( now ), onupdate=now ),
Column( "create_time", DateTime, default=now ),
Column( "update_time", DateTime, default=now, onupdate=now ),
Column( "name", String ),
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), nullable=False ),
Column( "encoded_value", String )