changeset 964:84bb5b8b498d beta

changed dev and tests to postgressql for more error proof setup. Fixed postgresql database wipe
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 27 Jan 2011 21:45:30 +0100
parents 72f008ed9b18
children 5da1286ddd28
files development.ini rhodecode/lib/db_manage.py test.ini
diffstat 3 files changed, 15 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/development.ini	Wed Jan 26 18:37:42 2011 +0100
+++ b/development.ini	Thu Jan 27 21:45:30 2011 +0100
@@ -137,7 +137,8 @@
 #########################################################
 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG    ###
 #########################################################
-sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db
+#sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db
+sqlalchemy.db1.url = postgresql://postgres:qwe@localhost/rhodecode
 #sqlalchemy.db1.echo = False
 #sqlalchemy.db1.pool_recycle = 3600
 sqlalchemy.convert_unicode = true
--- a/rhodecode/lib/db_manage.py	Wed Jan 26 18:37:42 2011 +0100
+++ b/rhodecode/lib/db_manage.py	Thu Jan 27 21:45:30 2011 +0100
@@ -69,12 +69,17 @@
                 self.db_exists = True
                 if not override:
                     raise Exception('database already exists')
+            return 'sqlite'
+        if self.dburi.startswith('postgresql'):
+            self.db_exists = True
+            return 'postgresql'
+
 
     def create_tables(self, override=False):
         """Create a auth database
         """
 
-        self.check_for_db(override)
+        db_type = self.check_for_db(override)
         if self.db_exists:
             log.info("database exist and it's going to be destroyed")
             if self.tests:
@@ -84,7 +89,11 @@
             if not destroy:
                 sys.exit()
             if self.db_exists and destroy:
-                os.remove(jn(self.root, self.dbname))
+                if db_type == 'sqlite':
+                    os.remove(jn(self.root, self.dbname))
+                if db_type == 'postgresql':
+                    meta.Base.metadata.drop_all()
+
         checkfirst = not override
         meta.Base.metadata.create_all(checkfirst=checkfirst)
         log.info('Created tables for %s', self.dbname)
--- a/test.ini	Wed Jan 26 18:37:42 2011 +0100
+++ b/test.ini	Thu Jan 27 21:45:30 2011 +0100
@@ -137,7 +137,8 @@
 #########################################################
 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG    ###
 #########################################################
-sqlalchemy.db1.url = sqlite:///%(here)s/test.db
+#sqlalchemy.db1.url = sqlite:///%(here)s/test.db
+sqlalchemy.db1.url = postgresql://postgres:qwe@localhost/rhodecode_tests
 #sqlalchemy.db1.echo = False
 #sqlalchemy.db1.pool_recycle = 3600
 sqlalchemy.convert_unicode = true