Search for keywords INSERT, UPDATE, DELETE and SELECT to reach SQL statements in the program files to figure out names of tables and columns of the tables. You can get closest SQL data type information from values supplied to the parameters used in the SQL statements. You may get some idea of what could be the primary keys based on columns in WHERE clause but it requires your judgement and familiarity of intended use of the columns to decide some columns as primary keys as non-primary columns can also be in WHERE clauses.
For example I see the following code in file useroptions.vb:
Dim Connection As New MySqlConnection(Utils.connectionString) : Connection.Open()
Dim Command As New MySqlCommand("UPDATE custom_user_data SET `" + name + "`=@value WHERE userID=@userID;", Connection)
Command.Parameters.AddWithValue("@value", value)
Command.Parameters.Add("@userID", MySqlDbType.Int32).Value = userID
Command.ExecuteNonQuery()
Here you find UPDATE statement. The first identifier custom_user_data is the name of a table. Variable name contains one column name you have to figure out. WHERE clause contains column name userID. You can get some SQL data type information from the parameters. Unfortunately I am not a VB programmer and hence I am not a position to give any more info. As somebody pointed out it is almost impossible to get various constraints(primary keys, foreign keys, check constraints), nullability information, triggers, any stored procedures, etc., from the programs. Good luck.