diff options
author | Aditi <aditi.iitr@gmail.com> | 2013-08-04 22:01:21 +0530 |
---|---|---|
committer | Aditi <aditi.iitr@gmail.com> | 2013-08-04 22:01:21 +0530 |
commit | a857954148c00e45f3cf2564940906baf4ebecc8 (patch) | |
tree | 32df5d22c3ba4c48fcdf4bc6043fad3dbf62c06d /mediagoblin/db/migration_tools.py | |
parent | ec85d24dfefd3544e23b88c3f1bcb32dfed09215 (diff) | |
parent | 31de493e4136f1c0c8e9d8f0b82c2914ea990c15 (diff) | |
download | mediagoblin-a857954148c00e45f3cf2564940906baf4ebecc8.tar.lz mediagoblin-a857954148c00e45f3cf2564940906baf4ebecc8.tar.xz mediagoblin-a857954148c00e45f3cf2564940906baf4ebecc8.zip |
Merge branch 'master' of git://gitorious.org/mediagoblin/mediagoblin
Diffstat (limited to 'mediagoblin/db/migration_tools.py')
-rw-r--r-- | mediagoblin/db/migration_tools.py | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/mediagoblin/db/migration_tools.py b/mediagoblin/db/migration_tools.py index aa22ef94..e75f3757 100644 --- a/mediagoblin/db/migration_tools.py +++ b/mediagoblin/db/migration_tools.py @@ -29,7 +29,7 @@ class MigrationManager(object): to the latest migrations, etc. """ - def __init__(self, name, models, migration_registry, session, + def __init__(self, name, models, foundations, migration_registry, session, printer=simple_printer): """ Args: @@ -40,6 +40,7 @@ class MigrationManager(object): """ self.name = unicode(name) self.models = models + self.foundations = foundations self.session = session self.migration_registry = migration_registry self._sorted_migrations = None @@ -140,6 +141,18 @@ class MigrationManager(object): self.session.bind, tables=[model.__table__ for model in self.models]) + def populate_table_foundations(self): + """ + Create the table foundations (default rows) as layed out in FOUNDATIONS + in mediagoblin.db.models + """ + for Model, rows in self.foundations.items(): + self.printer(u' + Laying foundations for %s table\n' % + (Model.__name__)) + for parameters in rows: + new_row = Model(**parameters) + self.session.add(new_row) + def create_new_migration_record(self): """ Create a new migration record for this migration set @@ -202,9 +215,9 @@ class MigrationManager(object): self.init_tables() # auto-set at latest migration number - self.create_new_migration_record() - + self.create_new_migration_record() self.printer(u"done.\n") + self.populate_table_foundations() self.set_current_migration() return u'inited' |