@@ -52,31 +52,31 @@ class DbManage(object):
self.tests = tests
self.root = root
self.dburi = dbconf
self.log_sql = log_sql
self.db_exists = False
self.init_db()
def init_db(self):
engine = create_engine(self.dburi, echo=self.log_sql)
init_model(engine)
self.sa = meta.Session
def create_tables(self, override=False):
def create_tables(self, override=False, defaults={}):
"""
Create a auth database
quiet = defaults.get('quiet')
log.info("Any existing database is going to be destroyed")
if self.tests:
if self.tests or quiet:
destroy = True
else:
destroy = ask_ok('Are you sure to destroy old database ? [y/n]')
if not destroy:
sys.exit()
if destroy:
meta.Base.metadata.drop_all()
checkfirst = not override
meta.Base.metadata.create_all(checkfirst=checkfirst)
log.info('Created tables for %s' % self.dbname)
@@ -29,22 +29,22 @@ from rhodecode.config.environment import
from rhodecode.lib.db_manage import DbManage
from rhodecode.model.meta import Session
log = logging.getLogger(__name__)
def setup_app(command, conf, vars):
"""Place any commands to setup rhodecode here"""
dbconf = conf['sqlalchemy.db1.url']
dbmanage = DbManage(log_sql=True, dbconf=dbconf, root=conf['here'],
tests=False)
dbmanage.create_tables(override=True)
dbmanage.create_tables(override=True, defaults=command.options.__dict__)
dbmanage.set_db_version()
opts = dbmanage.config_prompt(None, defaults=command.options.__dict__)
dbmanage.create_settings(opts)
dbmanage.create_default_user()
dbmanage.admin_prompt(defaults=command.options.__dict__)
dbmanage.create_permissions()
dbmanage.populate_default_permissions()
Session.commit()
load_environment(conf.global_conf, conf.local_conf, initial=True)
Status change: