Example #1
0
	def migrate(self, fromdb, todb):
		"""Migrates tables from one database ('dbfrom') to another database ('dbto')"""
		start_time = time.time()
		self.settings['dbfrom'] = DbSqlite(self.settings, fromdb)
		self.settings['dbto'] = DbSqlite(self.settings, todb)

		self.settings['dbto'].create_table()

		values = self.settings['dbfrom'].get_values()
		self.settings['dbto'].set_values(values)

		functions = self.settings['dbfrom'].get_functions()
		self.settings['dbto'].set_functions(functions)

		self.settings['dbto'].commit()

		finish_time = time.time() - start_time
		self.settings['logger'].info("Finished, time elapsed %s seconds" % str(finish_time)[:5])
Example #2
0
	def print_table(self, fromdb, table):
		"""Print all the conents of a table"""
		if table is None:
			help("You must select a table.")
		self.settings['output_file'] = None
		self.settings['db'] = DbSqlite(self.settings, fromdb)
		columns = self.settings['db'].get_columns(table)
		rows = self.settings['db'].get_rows(table)
		if columns:
			dump = Dump(self.settings)
			dump.general("txt", table, columns, [rows])
		else:
			self.print_valid_tables(table)
Example #3
0
	def generate(self, fromdb):
		"""Generate the testcases with a permutation of values and functions"""
		start_time = time.time()
		self.settings['db'] = DbSqlite(self.settings, fromdb)

		self.settings['db'].create_table()
		values = self.settings['db'].get_values()
		functions = self.settings['db'].get_functions()
		self.settings['logger'].info("Values: %s - Functions: %s" % (str(len(values)), str(len(functions))))
		total = self.permute(functions, values)

		self.settings['db'].commit()
		finish_time = time.time() - start_time
		self.settings['logger'].info("Testcases generated: %s" % str(total))
		self.settings['logger'].info("Time required: %s seconds" % str(round(finish_time, 2)))
Example #4
0
	def insert_table(self, fromdb, table, separator, insert):
		"""Insert a row into a table"""
		if table is None:
			help("You must select a table.")
		self.settings['db'] = DbSqlite(self.settings, fromdb)
		columns = self.settings['db'].get_columns(table)
		if columns:
			# If the user supplied one value less than the one required and the first column is called id, just ignore that column..
			if len(columns) == (len(insert.split(separator)) + 1) and columns[0] == 'id':
				del columns[0]
			if len(columns) != len(insert.split(separator)):
				print("The table '" + table + "' has " + str(len(columns)) + " columns: " + str(columns) + ". However, you want to insert " + str(len(insert.split(separator))) + " value/s: " + str(insert.split(separator)) + ". It doesn't work like that.")
			else:
				self.settings['db'].insert_row(table, columns, insert.split(separator))
		else:
			self.print_valid_tables(table)