added an echo option for all manage commands.

This commit is contained in:
percious17 2008-12-01 22:18:19 +00:00
parent 0a3d46c290
commit fda8014cce
2 changed files with 17 additions and 8 deletions

View File

@ -1,6 +1,7 @@
0.5.0 0.5.0
- SA 0.5.x support. - SA 0.5.x support.
- TODO:py.test is no longer used for testing. (use nose) - TODO:py.test is no longer used for testing. (use nose)
- Added --echo=True option for all commands, which will make the sqlalchemy connection echo SQL statements.
- Better Postgres support, especially for schemas. - Better Postgres support, especially for schemas.
- modification to the downgrade command to simplify the calling (old way still works just fine) - modification to the downgrade command to simplify the calling (old way still works just fine)

View File

@ -156,7 +156,8 @@ def version_control(url,repository,version=None,**opts):
database schema is expected to be identical to what it would be if the database schema is expected to be identical to what it would be if the
database were created from scratch. database were created from scratch.
""" """
engine=create_engine(url) echo = 'True' == opts.get('echo', False)
engine = create_engine(url, echo=echo)
cls_schema.create(engine,repository,version) cls_schema.create(engine,repository,version)
def db_version(url,repository,**opts): def db_version(url,repository,**opts):
@ -167,7 +168,8 @@ def db_version(url,repository,**opts):
The url should be any valid SQLAlchemy connection string. The url should be any valid SQLAlchemy connection string.
""" """
engine = create_engine(url) echo = 'True' == opts.get('echo', False)
engine = create_engine(url, echo=echo)
schema = cls_schema(engine,repository) schema = cls_schema(engine,repository)
return schema.version return schema.version
@ -202,7 +204,8 @@ def downgrade(url,repository,version,**opts):
return _migrate(url,repository,version,upgrade=False,err=err,**opts) return _migrate(url,repository,version,upgrade=False,err=err,**opts)
def _migrate(url,repository,version,upgrade,err,**opts): def _migrate(url,repository,version,upgrade,err,**opts):
engine = create_engine(url) echo = 'True' == opts.get('echo', False)
engine = create_engine(url, echo=echo)
schema = cls_schema(engine,repository) schema = cls_schema(engine,repository)
version = _migrate_version(schema,version,upgrade,err) version = _migrate_version(schema,version,upgrade,err)
@ -245,7 +248,8 @@ def drop_version_control(url,repository,**opts):
Removes version control from a database. Removes version control from a database.
""" """
engine=create_engine(url) echo = 'True' == opts.get('echo', False)
engine = create_engine(url, echo=echo)
schema=cls_schema(engine,repository) schema=cls_schema(engine,repository)
schema.drop() schema.drop()
@ -273,7 +277,8 @@ def compare_model_to_db(url,model,repository,**opts):
NOTE: This is EXPERIMENTAL. NOTE: This is EXPERIMENTAL.
""" # TODO: get rid of EXPERIMENTAL label """ # TODO: get rid of EXPERIMENTAL label
engine=create_engine(url) echo = 'True' == opts.get('echo', False)
engine = create_engine(url, echo=echo)
print cls_schema.compare_model_to_db(engine,model,repository) print cls_schema.compare_model_to_db(engine,model,repository)
def create_model(url,repository,**opts): def create_model(url,repository,**opts):
@ -283,7 +288,8 @@ def create_model(url,repository,**opts):
NOTE: This is EXPERIMENTAL. NOTE: This is EXPERIMENTAL.
""" # TODO: get rid of EXPERIMENTAL label """ # TODO: get rid of EXPERIMENTAL label
engine=create_engine(url) echo = 'True' == opts.get('echo', False)
engine = create_engine(url, echo=echo)
declarative = opts.get('declarative', False) declarative = opts.get('declarative', False)
print cls_schema.create_model(engine,repository,declarative) print cls_schema.create_model(engine,repository,declarative)
@ -294,7 +300,8 @@ def make_update_script_for_model(url,oldmodel,model,repository,**opts):
NOTE: This is EXPERIMENTAL. NOTE: This is EXPERIMENTAL.
""" # TODO: get rid of EXPERIMENTAL label """ # TODO: get rid of EXPERIMENTAL label
engine=create_engine(url) echo = 'True' == opts.get('echo', False)
engine = create_engine(url, echo=echo)
try: try:
print cls_script_python.make_update_script_for_model(engine,oldmodel,model,repository,**opts) print cls_script_python.make_update_script_for_model(engine,oldmodel,model,repository,**opts)
except exceptions.PathFoundError,e: except exceptions.PathFoundError,e:
@ -308,7 +315,8 @@ def update_db_from_model(url,model,repository,**opts):
NOTE: This is EXPERIMENTAL. NOTE: This is EXPERIMENTAL.
""" # TODO: get rid of EXPERIMENTAL label """ # TODO: get rid of EXPERIMENTAL label
engine=create_engine(url) echo = 'True' == opts.get('echo', False)
engine = create_engine(url, echo=echo)
schema = cls_schema(engine,repository) schema = cls_schema(engine,repository)
schema.update_db_from_model(model) schema.update_db_from_model(model)