Mercurial > kallithea
changeset 834:8924ed0e4f36 beta
added current db version into rhodecode,
added auto versioning of newly created databases
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 11 Dec 2010 02:15:29 +0100 |
parents | 9753e0907827 |
children | 08d2dcd71666 |
files | rhodecode/__init__.py rhodecode/lib/db_manage.py rhodecode/model/db.py rhodecode/websetup.py |
diffstat | 4 files changed, 29 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/__init__.py Sat Dec 11 01:54:12 2010 +0100 +++ b/rhodecode/__init__.py Sat Dec 11 02:15:29 2010 +0100 @@ -29,6 +29,7 @@ VERSION = (1, 1, 0, 'beta') __version__ = '.'.join((str(each) for each in VERSION[:4])) +__dbversion__ = 1 #defines current db version for migrations from rhodecode.lib.utils import get_current_revision _rev = get_current_revision()
--- a/rhodecode/lib/db_manage.py Sat Dec 11 01:54:12 2010 +0100 +++ b/rhodecode/lib/db_manage.py Sat Dec 11 02:15:29 2010 +0100 @@ -80,6 +80,23 @@ meta.Base.metadata.create_all(checkfirst=checkfirst) log.info('Created tables for %s', self.dbname) + + + def set_db_version(self): + from rhodecode import __dbversion__ + from rhodecode.model.db import DbMigrateVersion + try: + ver = DbMigrateVersion() + ver.version = __dbversion__ + ver.repository_id = 'rhodecode_db_migrations' + ver.repository_path = 'versions' + self.sa.add(ver) + self.sa.commit() + except: + self.sa.rollback() + raise + log.info('db version set to: %s', __dbversion__) + def admin_prompt(self, second=False): if not self.tests: import getpass
--- a/rhodecode/model/db.py Sat Dec 11 01:54:12 2010 +0100 +++ b/rhodecode/model/db.py Sat Dec 11 02:15:29 2010 +0100 @@ -3,7 +3,8 @@ rhodecode.model.db ~~~~~~~~~~~~~~~~~~ - Database Models for RhodeCode + Database Models for RhodeCode + :created_on: Apr 08, 2010 :author: marcink :copyright: (C) 2009-2010 Marcin Kuzminski <marcin@python-works.com> @@ -246,3 +247,11 @@ def __repr__(self): return "<CacheInvalidation('%s:%s')>" % (self.cache_id, self.cache_key) + +class DbMigrateVersion(Base, BaseModel): + __tablename__ = 'db_migrate_version' + __table_args__ = {'useexisting':True} + repository_id = Column('repository_id', String(250), primary_key=True) + repository_path = Column('repository_path', Text) + version = Column('version', Integer) +
--- a/rhodecode/websetup.py Sat Dec 11 01:54:12 2010 +0100 +++ b/rhodecode/websetup.py Sat Dec 11 02:15:29 2010 +0100 @@ -11,6 +11,7 @@ dbconf = conf['sqlalchemy.db1.url'] dbmanage = DbManage(log_sql=True, dbconf=dbconf, root=conf['here'], tests=False) dbmanage.create_tables(override=True) + dbmanage.set_db_version() dbmanage.config_prompt(None) dbmanage.create_default_user() dbmanage.admin_prompt()