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
+ """
+ from mediagoblin.db.models import FOUNDATIONS as MAIN_FOUNDATIONS
+ for Model, rows in MAIN_FOUNDATIONS.items():
+ print u'\n--> Laying foundations for %s table' % Model.__name__
+ for parameters in rows:
+ row = Model(**parameters)
+ row.save()
+
def create_new_migration_record(self):
"""
Create a new migration record for this migration set
self.init_tables()
# auto-set at latest migration number
- self.create_new_migration_record()
+ self.create_new_migration_record()
+ if self.name==u'__main__':
+ self.populate_table_foundations()
self.printer(u"done.\n")
self.set_current_migration()
Notification, CommentNotification, ProcessingNotification,
CommentSubscription]
+"""
+ Foundations are the default rows that are created immediately after the tables
+ are initialized. Each entry to this dictionary should be in the format of:
+ ModelConstructorObject:List of Dictionaries
+ (Each Dictionary represents a row on the Table to be created, containing each
+ of the columns' names as a key string, and each of the columns' values as a
+ value)
+
+ ex. [NOTE THIS IS NOT BASED OFF OF OUR USER TABLE]
+ user_foundations = [{'name':u'Joanna', 'age':24},
+ {'name':u'Andrea', 'age':41}]
+
+ FOUNDATIONS = {User:user_foundations}
+"""
+FOUNDATIONS = {}
######################################################
# Special, migrations-tracking table