summaryrefslogtreecommitdiff
path: root/migrate/versioning/script
diff options
context:
space:
mode:
authorchristian.simms <unknown>2008-04-01 20:46:52 +0000
committerchristian.simms <unknown>2008-04-01 20:46:52 +0000
commit1eadc362f67409cec50273f51e69fb1c024f1422 (patch)
tree4b004a5cf65a1523e46f08b0fb0b1be62160b8d3 /migrate/versioning/script
parentbc7f96cbb1515e7b3505303f160d807828fa1f98 (diff)
downloadsqlalchemy-migrate-1eadc362f67409cec50273f51e69fb1c024f1422.tar.gz
code reorg: create new utility method loadModel for db diffing
Diffstat (limited to 'migrate/versioning/script')
-rw-r--r--migrate/versioning/script/py.py9
1 files changed, 2 insertions, 7 deletions
diff --git a/migrate/versioning/script/py.py b/migrate/versioning/script/py.py
index 6103827..7add4f4 100644
--- a/migrate/versioning/script/py.py
+++ b/migrate/versioning/script/py.py
@@ -4,7 +4,7 @@ from migrate.versioning import exceptions, genmodel, schemadiff
from migrate.versioning.base import operations
from migrate.versioning.template import template
from migrate.versioning.script import base
-from migrate.versioning.util import import_path
+from migrate.versioning.util import import_path, loadModel
class PythonScript(base.BaseScript):
@classmethod
@@ -28,12 +28,7 @@ class PythonScript(base.BaseScript):
if isinstance(repository, basestring):
from migrate.versioning.repository import Repository # oh dear, an import cycle!
repository=Repository(repository)
- if isinstance(model, basestring): # TODO: centralize this code?
- # Assume model is of form "mod1.mod2.varname".
- varname = model.split('.')[-1]
- modules = '.'.join(model.split('.')[:-1])
- module = __import__(modules, globals(), {}, ['dummy-not-used'], -1)
- model = getattr(module, varname)
+ model = loadModel(model)
diff = schemadiff.getDiffOfModelAgainstDatabase(model, engine, excludeTables=[repository.version_table])
upgradeDecls, upgradeCommands = genmodel.ModelGenerator(diff).toUpgradePython()
#downgradeCommands = genmodel.ModelGenerator(diff).toDowngradePython()