I realize this is a known issue and I've read about it a lot and I'm extremely confused. This is my first web app so please bear with me. I have an app where a user logs in and a schedule is queried from the database. The user then selects certain events and submits their selections back to the db. Sometimes users just view the schedule and submit no selections at that time. Whether selections are made or not, after a certain amount of time, if a user tries to login and see the schedule, the 2006 error occurs. From my reading I "think" what's happening is the query is not being closed and is timing out. I built this app following different tutorials on YouTube plus, again, I'm extremely new to all this and it definitely is hacked together. I built the app with Postgres in mind. I'm using the free account and I have no experience with MySQL. I'm using Python 3.5 and Flask. I was considering moving to a paid plan down the road, so my first question is if I'm using Postgres will this still be an issue? Secondly, is there an "easy" fix to this with MySQL that someone very new can understand? There seems to be some success resolving this but I'm having serious difficulty understanding it. Here some of my code. Not sure if you need more or not. Any help is greatly appreciated.
<code>
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = ('mysql+mysqldb://username:password@
username.mysql.pythonanywhere-services.com/database')
db = SQLAlchemy(app)
app.config['SQLALCHEMY_POOL_RECYCLE'] = 280
app.config['SQLALCHEMY_POOL_TIMEOUT'] = 20
app.config['SECRET_KEY'] = 'secret'
app.config['SECURITY_REGISTERABLE'] = True
Base = declarative_base()
class NFL(db.Model):
__tablename__ = 'NFL01'
index = db.Column('index', db.Integer, primary_key=True)
KICKOFF = db.Column('KICKOFF', db.DateTime)
AWAY_TEAM = db.Column('AWAY_TEAM', db.Unicode)
AWAY_SIDE = db.Column('AWAY_SIDE', db.Integer)
HOME_TEAM = db.Column('HOME_TEAM', db.Unicode)
HOME_SIDE = db.Column('HOME_SIDE', db.Integer)
TOTAL = db.Column('TOTAL', db.Integer)
class CFB(db.Model):
__tablename__ = 'CFB01'
index = db.Column('index', db.Integer, primary_key=True)
KICKOFF = db.Column('KICKOFF', db.DateTime)
AWAY_TEAM = db.Column('AWAY_TEAM', db.Unicode)
AWAY_SIDE = db.Column('AWAY_SIDE', db.Unicode)
HOME_TEAM = db.Column('HOME_TEAM', db.Unicode)
HOME_SIDE = db.Column('HOME_SIDE', db.Unicode)
TOTAL = db.Column('TOTAL', db.Integer)
statsNFL = NFL.query.filter(NFL.KICKOFF > cur_time)
statsCFB = CFB.query.filter(CFB.KICKOFF > cur_time)
</code>