Converts fpdb_db to use the query dictionary for table creation
This commit is contained in:
		
							parent
							
								
									66033036cc
								
							
						
					
					
						commit
						791ac7418d
					
				|  | @ -17,12 +17,14 @@ | |||
| 
 | ||||
| import os | ||||
| import fpdb_simple | ||||
| import FpdbSQLQueries | ||||
| 
 | ||||
| class fpdb_db: | ||||
| 	def __init__(self): | ||||
| 		"""Simple constructor, doesnt really do anything""" | ||||
| 		self.db=None | ||||
| 		self.cursor=None | ||||
| 		self.sql = {} | ||||
| 		self.MYSQL_INNODB=2 | ||||
| 		self.PGSQL=3 | ||||
| 		self.SQLITE=4 | ||||
|  | @ -44,6 +46,8 @@ class fpdb_db: | |||
| 		else: | ||||
| 			raise fpdb_simple.FpdbError("unrecognised database backend:"+backend) | ||||
| 		self.cursor=self.db.cursor() | ||||
| 		# Set up query dictionary as early in the connection process as we can. | ||||
|                 self.sql = FpdbSQLQueries.FpdbSQLQueries(self.get_backend_name()) | ||||
| 		self.wrongDbVersion=False | ||||
| 		try: | ||||
| 			self.cursor.execute("SELECT * FROM Settings") | ||||
|  | @ -181,213 +185,19 @@ class fpdb_db: | |||
| 		 | ||||
| 		self.drop_tables() | ||||
| 		 | ||||
| 		self.create_table("""Settings ( | ||||
| 		version SMALLINT NOT NULL)""") | ||||
| 		 | ||||
| 		self.create_table("""Sites ( | ||||
| 		id SMALLINT UNSIGNED UNIQUE AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), | ||||
| 		name varchar(32) NOT NULL, | ||||
| 		currency char(3) NOT NULL)""") | ||||
| 		 | ||||
| 		self.create_table("""Gametypes ( | ||||
| 		id SMALLINT UNSIGNED UNIQUE AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), | ||||
| 		siteId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (siteId) REFERENCES Sites(id), | ||||
| 		type char(4) NOT NULL, | ||||
| 		base char(4) NOT NULL, | ||||
| 		category varchar(9) NOT NULL, | ||||
| 		limitType char(2) NOT NULL, | ||||
| 		hiLo char(1) NOT NULL, | ||||
| 		smallBlind int, | ||||
| 		bigBlind int, | ||||
| 		smallBet int NOT NULL, | ||||
| 		bigBet int NOT NULL)""") | ||||
| 		#NOT NULL not set for small/bigBlind as they are not existent in all games | ||||
| 		 | ||||
| 		self.create_table("""Players ( | ||||
| 		id INT UNSIGNED UNIQUE AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), | ||||
| 		name VARCHAR(32) CHARACTER SET utf8 NOT NULL, | ||||
| 		siteId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (siteId) REFERENCES Sites(id), | ||||
| 		comment text, | ||||
| 		commentTs DATETIME)""") | ||||
| 		 | ||||
| 		self.create_table("""Autorates ( | ||||
| 		id BIGINT UNSIGNED UNIQUE AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), | ||||
| 		playerId INT UNSIGNED NOT NULL, FOREIGN KEY (playerId) REFERENCES Players(id), | ||||
| 		gametypeId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id), | ||||
| 		description varchar(50) NOT NULL, | ||||
| 		shortDesc char(8) NOT NULL, | ||||
| 		ratingTime DATETIME NOT NULL, | ||||
| 		handCount int NOT NULL)""") | ||||
| 
 | ||||
| 		self.create_table("""Hands ( | ||||
| 		id BIGINT UNSIGNED UNIQUE AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), | ||||
| 		tableName VARCHAR(20) NOT NULL, | ||||
| 		siteHandNo BIGINT NOT NULL, | ||||
| 		gametypeId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id), | ||||
| 		handStart DATETIME NOT NULL, | ||||
| 		importTime DATETIME NOT NULL, | ||||
| 		seats SMALLINT NOT NULL, | ||||
| 		maxSeats SMALLINT NOT NULL, | ||||
| 		comment TEXT, | ||||
| 		commentTs DATETIME)""") | ||||
| 
 | ||||
| 		self.create_table("""BoardCards ( | ||||
| 		id BIGINT UNSIGNED UNIQUE AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), | ||||
| 		handId BIGINT UNSIGNED NOT NULL, FOREIGN KEY (handId) REFERENCES Hands(id), | ||||
| 		card1Value smallint NOT NULL, | ||||
| 		card1Suit char(1) NOT NULL, | ||||
| 		card2Value smallint NOT NULL, | ||||
| 		card2Suit char(1) NOT NULL, | ||||
| 		card3Value smallint NOT NULL, | ||||
| 		card3Suit char(1) NOT NULL, | ||||
| 		card4Value smallint NOT NULL, | ||||
| 		card4Suit char(1) NOT NULL, | ||||
| 		card5Value smallint NOT NULL, | ||||
| 		card5Suit char(1) NOT NULL)""") | ||||
| 
 | ||||
| 		self.create_table("""TourneyTypes ( | ||||
| 		id SMALLINT UNSIGNED UNIQUE AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), | ||||
| 		siteId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (siteId) REFERENCES Sites(id), | ||||
| 		buyin INT NOT NULL, | ||||
| 		fee INT NOT NULL, | ||||
| 		knockout INT NOT NULL, | ||||
| 		rebuyOrAddon BOOLEAN NOT NULL)""") | ||||
| 
 | ||||
| 		self.create_table("""Tourneys ( | ||||
| 		id INT UNSIGNED UNIQUE AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), | ||||
| 		tourneyTypeId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (tourneyTypeId) REFERENCES TourneyTypes(id), | ||||
| 		siteTourneyNo BIGINT NOT NULL, | ||||
| 		entries INT NOT NULL, | ||||
| 		prizepool INT NOT NULL, | ||||
| 		startTime DATETIME NOT NULL, | ||||
| 		comment TEXT, | ||||
| 		commentTs DATETIME)""") | ||||
| 
 | ||||
| 		self.create_table("""TourneysPlayers ( | ||||
| 		id BIGINT UNSIGNED UNIQUE AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), | ||||
| 		tourneyId INT UNSIGNED NOT NULL, FOREIGN KEY (tourneyId) REFERENCES Tourneys(id), | ||||
| 		playerId INT UNSIGNED NOT NULL, FOREIGN KEY (playerId) REFERENCES Players(id), | ||||
| 		payinAmount INT NOT NULL, | ||||
| 		rank INT NOT NULL, | ||||
| 		winnings INT NOT NULL, | ||||
| 		comment TEXT, | ||||
| 		commentTs DATETIME)""") | ||||
| 
 | ||||
| 		self.create_table("""HandsPlayers ( | ||||
| 		id BIGINT UNSIGNED UNIQUE AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), | ||||
| 		handId BIGINT UNSIGNED NOT NULL, FOREIGN KEY (handId) REFERENCES Hands(id), | ||||
| 		playerId INT UNSIGNED NOT NULL, FOREIGN KEY (playerId) REFERENCES Players(id), | ||||
| 		startCash INT NOT NULL, | ||||
| 		position CHAR(1), | ||||
| 		seatNo SMALLINT NOT NULL, | ||||
| 		ante INT, | ||||
| 	 | ||||
| 		card1Value smallint NOT NULL, | ||||
| 		card1Suit char(1) NOT NULL, | ||||
| 		card2Value smallint NOT NULL, | ||||
| 		card2Suit char(1) NOT NULL, | ||||
| 		card3Value smallint, | ||||
| 		card3Suit char(1), | ||||
| 		card4Value smallint, | ||||
| 		card4Suit char(1), | ||||
| 		card5Value smallint, | ||||
| 		card5Suit char(1), | ||||
| 		card6Value smallint, | ||||
| 		card6Suit char(1), | ||||
| 		card7Value smallint, | ||||
| 		card7Suit char(1), | ||||
| 	 | ||||
| 		winnings int NOT NULL, | ||||
| 		rake int NOT NULL, | ||||
| 		comment text, | ||||
| 		commentTs DATETIME, | ||||
| 	 | ||||
| 		tourneysPlayersId BIGINT UNSIGNED, FOREIGN KEY (tourneysPlayersId) REFERENCES TourneysPlayers(id))""") | ||||
| 		#NOT NULL not set on cards 3-7 as they dont exist in all games | ||||
| 
 | ||||
| 		self.create_table("""HandsActions ( | ||||
| 		id BIGINT UNSIGNED UNIQUE AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), | ||||
| 		handPlayerId BIGINT UNSIGNED NOT NULL, FOREIGN KEY (handPlayerId) REFERENCES HandsPlayers(id), | ||||
| 		street SMALLINT NOT NULL, | ||||
| 		actionNo SMALLINT NOT NULL, | ||||
| 		action CHAR(5) NOT NULL, | ||||
| 		allIn BOOLEAN NOT NULL, | ||||
| 		amount INT NOT NULL, | ||||
| 		comment TEXT, | ||||
| 		commentTs DATETIME)""") | ||||
| 		 | ||||
| 		self.create_table("""HudCache ( | ||||
| 		id BIGINT UNSIGNED UNIQUE AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), | ||||
| 		gametypeId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id), | ||||
| 		playerId INT UNSIGNED NOT NULL, FOREIGN KEY (playerId) REFERENCES Players(id), | ||||
| 		activeSeats SMALLINT NOT NULL, | ||||
| 		position CHAR(1), | ||||
| 		tourneyTypeId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (tourneyTypeId) REFERENCES TourneyTypes(id), | ||||
| 		 | ||||
| 		HDs INT NOT NULL, | ||||
| 		street0VPI INT NOT NULL, | ||||
| 		street0Aggr INT NOT NULL, | ||||
| 		street0_3B4BChance INT NOT NULL, | ||||
| 		street0_3B4BDone INT NOT NULL, | ||||
| 		 | ||||
| 		street1Seen INT NOT NULL, | ||||
| 		street2Seen INT NOT NULL, | ||||
| 		street3Seen INT NOT NULL, | ||||
| 		street4Seen INT NOT NULL, | ||||
| 		sawShowdown INT NOT NULL, | ||||
| 		 | ||||
| 		street1Aggr INT NOT NULL, | ||||
| 		street2Aggr INT NOT NULL, | ||||
| 		street3Aggr INT NOT NULL, | ||||
| 		street4Aggr INT NOT NULL, | ||||
| 		 | ||||
| 		otherRaisedStreet1 INT NOT NULL, | ||||
| 		otherRaisedStreet2 INT NOT NULL, | ||||
| 		otherRaisedStreet3 INT NOT NULL, | ||||
| 		otherRaisedStreet4 INT NOT NULL, | ||||
| 		foldToOtherRaisedStreet1 INT NOT NULL, | ||||
| 		foldToOtherRaisedStreet2 INT NOT NULL, | ||||
| 		foldToOtherRaisedStreet3 INT NOT NULL, | ||||
| 		foldToOtherRaisedStreet4 INT NOT NULL, | ||||
| 		wonWhenSeenStreet1 FLOAT NOT NULL, | ||||
| 		wonAtSD FLOAT NOT NULL, | ||||
| 		 | ||||
| 		stealAttemptChance INT NOT NULL, | ||||
| 		stealAttempted INT NOT NULL, | ||||
| 		foldBbToStealChance INT NOT NULL, | ||||
| 		foldedBbToSteal INT NOT NULL, | ||||
| 		foldSbToStealChance INT NOT NULL, | ||||
| 		foldedSbToSteal INT NOT NULL, | ||||
| 		 | ||||
| 		street1CBChance INT NOT NULL, | ||||
| 		street1CBDone INT NOT NULL, | ||||
| 		street2CBChance INT NOT NULL, | ||||
| 		street2CBDone INT NOT NULL, | ||||
| 		street3CBChance INT NOT NULL, | ||||
| 		street3CBDone INT NOT NULL, | ||||
| 		street4CBChance INT NOT NULL, | ||||
| 		street4CBDone INT NOT NULL, | ||||
| 		 | ||||
| 		foldToStreet1CBChance INT NOT NULL, | ||||
| 		foldToStreet1CBDone INT NOT NULL, | ||||
| 		foldToStreet2CBChance INT NOT NULL, | ||||
| 		foldToStreet2CBDone INT NOT NULL, | ||||
| 		foldToStreet3CBChance INT NOT NULL, | ||||
| 		foldToStreet3CBDone INT NOT NULL, | ||||
| 		foldToStreet4CBChance INT NOT NULL, | ||||
| 		foldToStreet4CBDone INT NOT NULL, | ||||
| 		 | ||||
| 		totalProfit INT NOT NULL, | ||||
| 		 | ||||
| 		street1CheckCallRaiseChance INT NOT NULL, | ||||
| 		street1CheckCallRaiseDone INT NOT NULL, | ||||
| 		street2CheckCallRaiseChance INT NOT NULL, | ||||
| 		street2CheckCallRaiseDone INT NOT NULL, | ||||
| 		street3CheckCallRaiseChance INT NOT NULL, | ||||
| 		street3CheckCallRaiseDone INT NOT NULL, | ||||
| 		street4CheckCallRaiseChance INT NOT NULL, | ||||
| 		street4CheckCallRaiseDone INT NOT NULL)""") | ||||
| 		 | ||||
| 		self.cursor.execute(self.sql.query['createSettingsTable']) | ||||
|                 self.cursor.execute(self.sql.query['createSitesTable']) | ||||
|                 self.cursor.execute(self.sql.query['createGametypesTable']) | ||||
|                 self.cursor.execute(self.sql.query['createPlayersTable']) | ||||
|                 self.cursor.execute(self.sql.query['createAutoratesTable']) | ||||
|                 self.cursor.execute(self.sql.query['createHandsTable']) | ||||
|                 self.cursor.execute(self.sql.query['createBoardCardsTable']) | ||||
|                 self.cursor.execute(self.sql.query['createTourneyTypesTable']) | ||||
|                 self.cursor.execute(self.sql.query['createTourneysTable']) | ||||
|                 self.cursor.execute(self.sql.query['createTourneysPlayersTable']) | ||||
|                 self.cursor.execute(self.sql.query['createHandsPlayersTable']) | ||||
|                 self.cursor.execute(self.sql.query['createHandsActionsTable']) | ||||
|                 self.cursor.execute(self.sql.query['createHudCacheTable']) | ||||
| 		self.fillDefaultData() | ||||
| 		self.db.commit() | ||||
| 		print "finished recreating tables" | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user