Mercurial > kallithea
diff rhodecode/lib/dbmigrate/migrate/versioning/genmodel.py @ 835:08d2dcd71666 beta
fixed imports on migrate, added getting current version from database
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 11 Dec 2010 02:50:23 +0100 |
parents | 9753e0907827 |
children | 9bb609d164e4 |
line wrap: on
line diff
--- a/rhodecode/lib/dbmigrate/migrate/versioning/genmodel.py Sat Dec 11 02:15:29 2010 +0100 +++ b/rhodecode/lib/dbmigrate/migrate/versioning/genmodel.py Sat Dec 11 02:50:23 2010 +0100 @@ -11,9 +11,8 @@ import sqlalchemy -import migrate -import migrate.changeset - +from rhodecode.lib.dbmigrate import migrate +from rhodecode.lib.dbmigrate.migrate import changeset log = logging.getLogger(__name__) HEADER = """ @@ -112,17 +111,17 @@ out.append(")") return out - def _get_tables(self,missingA=False,missingB=False,modified=False): + def _get_tables(self, missingA=False, missingB=False, modified=False): to_process = [] - for bool_,names,metadata in ( - (missingA,self.diff.tables_missing_from_A,self.diff.metadataB), - (missingB,self.diff.tables_missing_from_B,self.diff.metadataA), - (modified,self.diff.tables_different,self.diff.metadataA), + for bool_, names, metadata in ( + (missingA, self.diff.tables_missing_from_A, self.diff.metadataB), + (missingB, self.diff.tables_missing_from_B, self.diff.metadataA), + (modified, self.diff.tables_different, self.diff.metadataA), ): if bool_: for name in names: yield metadata.tables.get(name) - + def toPython(self): """Assume database is current and model is empty.""" out = [] @@ -138,10 +137,10 @@ def toUpgradeDowngradePython(self, indent=' '): ''' Assume model is most current and database is out-of-date. ''' - decls = ['from migrate.changeset import schema', + decls = ['from rhodecode.lib.dbmigrate.migrate.changeset import schema', 'meta = MetaData()'] for table in self._get_tables( - missingA=True,missingB=True,modified=True + missingA=True, missingB=True, modified=True ): decls.extend(self.getTableDefn(table)) @@ -182,7 +181,7 @@ '\n'.join([pre_command] + ['%s%s' % (indent, line) for line in upgradeCommands]), '\n'.join([pre_command] + ['%s%s' % (indent, line) for line in downgradeCommands])) - def _db_can_handle_this_change(self,td): + def _db_can_handle_this_change(self, td): if (td.columns_missing_from_B and not td.columns_missing_from_A and not td.columns_different): @@ -208,9 +207,9 @@ dbTable = self.diff.metadataB.tables[tableName] td = self.diff.tables_different[tableName] - + if self._db_can_handle_this_change(td): - + for col in td.columns_missing_from_B: modelTable.columns[col].create() for col in td.columns_missing_from_A: