def __testImportExport(self, sD): """Test case - import and export commands -- """ try: databaseName = sD.getDatabaseName() tableIdList = sD.getSchemaIdList() myAd = SqlGenAdmin(self.__verbose) for tableId in tableIdList: tableDefObj = sD.getSchemaObject(tableId) exportPath = os.path.join(HERE, "test-output", tableDefObj.getName() + ".tdd") sqlExport = myAd.exportTable(databaseName, tableDefObj, exportPath=exportPath) logger.debug( "\n\n+SqlGenTests table export SQL string\n %s\n\n", sqlExport) sqlImport = myAd.importTable(databaseName, tableDefObj, importPath=exportPath) logger.debug( "\n\n+SqlGenTests table import SQL string\n %s\n\n", sqlImport) self.assertGreaterEqual(len(sqlImport), 100) except Exception as e: logger.exception("Failing with %s", str(e)) self.fail()
def __batchFileImport(self, tableId, tableLoadPath, sqlFilePath=None, containerNameList=None, deleteOpt="all"): """Batch load the input table using data in the input loadable data file. if sqlFilePath is provided then any generated SQL commands are preserved in this file. deleteOpt None|'selected'| 'all' or 'truncate' """ startTime = time.time() databaseName = self.__sD.getDatabaseName() sqlGen = SqlGenAdmin(self.__verbose) databaseName = self.__sD.getDatabaseName() tableDefObj = self.__sD.getSchemaObject(tableId) # tableName = tableDefObj.getName() # if deleteOpt: sqlCommandList = self.__getSqlDeleteList( tableId, containerNameList=containerNameList, deleteOpt=deleteOpt) else: sqlCommandList = [] if os.access(tableLoadPath, os.R_OK): tableDefObj = self.__sD.getSchemaObject(tableId) sqlCommandList.append( sqlGen.importTable(databaseName, tableDefObj, importPath=tableLoadPath)) if self.__verbose: logger.debug("SQL import command\n%s\n", sqlCommandList) # if sqlFilePath is not None: try: with open(sqlFilePath, "w", encoding="utf-8") as ofh: ofh.write("%s" % "\n".join(sqlCommandList)) except Exception: pass # myQ = MyDbQuery(dbcon=self.__dbCon, verbose=self.__verbose) myQ.setWarning(self.__warningAction) ret = myQ.sqlCommand(sqlCommandList=sqlCommandList) # # endTime = time.time() logger.debug("Table %s server returns %r\n", tableId, ret) logger.debug("Completed at %s (%.3f seconds)\n", time.strftime("%Y %m %d %H:%M:%S", time.localtime()), endTime - startTime) return ret