Ignore:
Timestamp:
09/12/11 16:19:57 (9 years ago)
Author:
mnagni
Message:

The tables are correctly generated and the migration does not show major problem. Good!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • mauRepo/MolesManager/trunk/src/db_manager/dbConnection.py

    r7970 r8014  
    1414class DBConnection(object): 
    1515     
    16     def __init__(self, dbConnectionString, dbInitializer = None): 
    17         self.__dbConnectionString = dbConnectionString 
    18         self.engine = None 
    19         self.__metadata = None 
    20         self.__tables = None 
    21         self.__session = None 
    22         self.dbInitializer = dbInitializer 
     16    def __init__(self, dbConnectionString): 
     17        self._dbConnectionString = dbConnectionString 
     18        self._engine = None 
     19        self._metadata = None 
     20        self._Session = None 
     21        self._dbInitializer = [] 
     22 
     23    def initTables(self, dbInitializer): 
     24        if(dbInitializer): 
     25            dbInitializer.initTables(self._getMetadata(), self._getEngine()) 
     26            self._dbInitializer.append(dbInitializer)         
    2327     
    2428    def getSession(self): 
    25         if (self.engine is None): 
    26             self.engine = create_engine(self.__dbConnectionString, echo=True)      
    27             self.__metadata = MetaData() 
    28             if(self.dbInitializer): 
    29                 self.dbInitializer.initTables(self.__metadata, self.engine) 
    30         if not self.__session and self.engine: 
    31             Session = sessionmaker(bind=self.engine) 
    32             self.__session = Session() 
    33         return self.__session 
     29        return (self._getSession())() 
    3430     
    35     def __mapTables(self): 
    36         pass 
    37                      
    38          
    39     def __initTables(self): 
    40         pass 
    41  
    42 if __name__ == '__main__': 
    43     pass 
    44  
     31    def _getEngine(self): 
     32        if not self._engine: 
     33            self._engine = create_engine(self._dbConnectionString, echo=True) 
     34        return self._engine 
     35             
     36    def _getMetadata(self): 
     37        if not self._metadata: 
     38            self._metadata = MetaData() 
     39        return self._metadata  
     40     
     41    def _getSession(self): 
     42        if not self._Session: 
     43            self._Session = sessionmaker(bind=self._getEngine()) 
     44        return self._Session 
    4545 
    4646 
     
    9090class DBScript(DbInitializer): 
    9191    def __init__(self, dbScriptFilePath, **kwargs): 
    92         self.__dbScriptFilePath = dbScriptFilePath 
     92        self._dbScriptFilePath = dbScriptFilePath 
    9393     
    9494    def initTables(self, metadata, engine): 
    95         execfile(self.__dbScriptFilePath, {'metadata': metadata, 'engine': engine}) 
     95        execfile(self._dbScriptFilePath, {'metadata': metadata, 'engine': engine}) 
    9696  
    9797     
Note: See TracChangeset for help on using the changeset viewer.