Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiguel Gonzalez <migonzalvar@activitycentral.com>2013-08-06 19:34:36 (GMT)
committer Miguel Gonzalez <migonzalvar@activitycentral.com>2013-08-06 19:34:36 (GMT)
commit4136dbfa636c1f50ae3441b93611aae932087baa (patch)
tree8be0d0c518fdb7a7d6f7daa6194e43917d377707
parenta5ec3e23d1cf570cf22925a70d7ec285d545fefd (diff)
Substitute manual table creation with SQLAlchemy metadata
-rw-r--r--stats_consolidation/db.py59
1 files changed, 4 insertions, 55 deletions
diff --git a/stats_consolidation/db.py b/stats_consolidation/db.py
index 9364917..d9033a5 100644
--- a/stats_consolidation/db.py
+++ b/stats_consolidation/db.py
@@ -26,43 +26,6 @@ class Connection(object):
class DB_Stats:
- TABLES={}
-
- TABLES['Usages'] = (
- "CREATE TABLE `Usages` ("
- " `ts` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,"
- " `user_hash` CHAR(40) NOT NULL,"
- " `resource_name` CHAR(80),"
- " `start_date` TIMESTAMP NOT NULL,"
- " `data_type` CHAR (30) NOT NULL,"
- " `data` INTEGER NOT NULL,"
- " PRIMARY KEY (`user_hash`,`start_date`,`resource_name`, `data_type`)"
- " )")
-
- TABLES['Resources'] = (
- "CREATE TABLE Resources ("
- " `name` CHAR(250),"
- " PRIMARY KEY (name)"
- " )")
-
- TABLES['Users'] = (
- "CREATE TABLE Users("
- " `hash` CHAR (40) NOT NULL,"
- " `uuid` CHAR (32) NOT NULL,"
- " `machine_sn` CHAR(80),"
- " `age` INTEGER NOT NULL,"
- " `school` CHAR(80),"
- " `sw_version` CHAR (80),"
- " `ts` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,"
- " PRIMARY KEY (hash)"
- " )")
-
- TABLES['Runs'] = (
- "CREATE TABLE Runs("
- " `last_ts` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP "
- ")")
-
-
def __init__(self, db_name, user, password):
self.db_name = db_name
self.user = user
@@ -135,29 +98,15 @@ class DB_Stats:
)
return metadata
- def _create_tables(self, engine):
+ def _create_tables(self):
metadata = self._metadata()
metadata.create_all(self._get_engine())
- def create_tables(self, cursor):
- for name, ddl in self.TABLES.iteritems():
- try:
- log.info('Creating table %s:', name)
- cursor.execute(ddl)
- except sa.exc.DBAPIError as err:
- raise err
- else:
- log.info('Table %s created', name)
-
- def create (self):
+ def create(self):
+ self._create_tables()
self.connect()
- cursor = self.cnx.cursor()
- try:
- self.create_tables(cursor)
- except sa.exc.DBAPIError as err:
- raise Exception ("Error: {0}".format(err))
- def close (self):
+ def close(self):
self.cnx.close()
def _get_engine(self):