def main(argv=sys.argv): import logging logging.basicConfig(level=logging.DEBUG) # if len(argv) != 2: # usage(argv) # config_uri = argv[1] # setup_logging(config_uri) # settings = get_appsettings(config_uri) # engine = engine_from_config(settings, 'sqlalchemy.') logging.debug("Initialise Engine") engine = sqlalchemy.create_engine(DBFILE, echo=False) meta.Session.configure(bind=engine) Base.metadata.bind = engine Base.metadata.create_all(engine) DBSession = meta.Session() #DBSession.configure(bind=engine) logging.debug("Populating Data") populateData.init_data(DBSession) #populateUser() logging.debug("Populated") DBSession.flush() #DBSession.commit() #We also want any alembic scripts to be executed (or not if we build the DB #properly) alembic_cfg = Config("cogent/alembic.ini") #TODO: WARNING RELATIVE PATH command.stamp(alembic_cfg,"head") DBSession.close()
def main(argv=sys.argv): import logging logging.basicConfig(level=logging.DEBUG) # if len(argv) != 2: # usage(argv) # config_uri = argv[1] # setup_logging(config_uri) # settings = get_appsettings(config_uri) # engine = engine_from_config(settings, 'sqlalchemy.') logging.debug("Initialise Engine") engine = sqlalchemy.create_engine(DBFILE, echo=False) meta.Session.configure(bind=engine) Base.metadata.bind = engine Base.metadata.create_all(engine) DBSession = meta.Session() #DBSession.configure(bind=engine) logging.debug("Populating Data") populateData.init_data(DBSession) #populateUser() logging.debug("Populated") DBSession.flush() #DBSession.commit() #We also want any alembic scripts to be executed (or not if we build the DB #properly) alembic_cfg = Config("cogent/alembic.ini") #TODO: WARNING RELATIVE PATH command.stamp(alembic_cfg, "head") DBSession.close()
def __init__(self, sampleRate=60, usbPort=None): """Initialise plogg collection object :var sampleRate: Sample Rate in Seconds :var usbPort: Serial port to connect to """ self.log = logging.getLogger("PloggCollector") log = self.log #And Format the Log output a little nicer ch = logging.StreamHandler() formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s') ch.setFormatter(formatter) log.addHandler(ch) log.debug("initialising Plogg Data Gatherer") log.debug("SampleRate") self.sampleRate = sampleRate self.nodeMap = {} #Attempt to connect to the Dongle self.connect(usbPort) #Then we can sort out the database engine = sqlalchemy.create_engine(DB_STRING) #Create Models and Populate any Missing Base Data models.initialise_sql(engine) populateData.init_data() #Scan for Ploggs #ploggList = self.ploggScan() #self.ploggList = ploggList self.ploggList = []
def __init__(self,sampleRate = 60,usbPort = None): """Initialise plogg collection object :var sampleRate: Sample Rate in Seconds :var usbPort: Serial port to connect to """ self.log = logging.getLogger("PloggCollector") log = self.log #And Format the Log output a little nicer ch = logging.StreamHandler() formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') ch.setFormatter(formatter) log.addHandler(ch) log.debug("initialising Plogg Data Gatherer") log.debug("SampleRate") self.sampleRate = sampleRate self.nodeMap = {} #Attempt to connect to the Dongle self.connect(usbPort) #Then we can sort out the database engine = sqlalchemy.create_engine(DB_STRING) #Create Models and Populate any Missing Base Data models.initialise_sql(engine) populateData.init_data() #Scan for Ploggs #ploggList = self.ploggScan() #self.ploggList = ploggList self.ploggList = []
def main(dburl="sqlite:///pushtest.db"): # if len(argv) != 2: # usage(argv) # config_uri = argv[1] # setup_logging(config_uri) # settings = get_appsettings(config_uri) # engine = engine_from_config(settings, 'sqlalchemy.') # meta.Session.configure(bind=engine) # Base.metadata.bind = engine # #As its a testing database # #Base.metadata.drop_all() # try: # transaction.commit() # except sqlalchemy.exc.OperationalError: # print "No database exists" # Base.metadata.create_all(engine) # #We also want any alembic scripts to be executed # alembic_cfg = Config("alembic.ini") #TODO: WARNING RELATIVE PATH # command.stamp(alembic_cfg,"head") # DBSession = meta.Session() # #DBSession.configure(bind=engine) import time print "Creating Database for {0}".format(dburl) t1 = time.time() engine = sqlalchemy.create_engine(dburl) connection = engine.connect() print "--> Time to create Engine {0}".format(time.time() - t1) #try: # connection.execute("delete from nodestate") # connection.execute("delete from reading") #except: # print "Error deleting existing tables" #transaction.commit() print "Initialising SQL" #Create a connection to the database Base.metadata.bind = engine Base.metadata.drop_all(engine) Base.metadata.create_all(engine) #Relevant Jenkins stuff #Readings # connection.execute("DELETE FROM Reading") # connection.execute("DELETE FROM NodeState") # #Sensors and Node # connection.execute("DELETE FROM Sensor") # connection.execute("DELETE FROM SensorType") # connection.execute("DELETE FROM Node") # #Room Information # connection.execute("DELETE FROM Room") # connection.execute("DELETE FROM RoomType") # #Houses and Deployments # connection.execute("DELETE FROM House") # connection.execute("DELETE FROM Deployment") #Finally Locations #connection.execute("DELETE FROM Location") print "--> Time to Drop {0}".format(time.time() - t1) print "--> Time Create {0}".format(time.time() - t1) # #Start the transaction # #trans = connection.begin() populateData.init_data(docalib=False) print "--> Time to Init {0}".format(time.time() - t1) populatedata() print "--> Time to Populate {0}".format(time.time() - t1) populate_readings()