I am trying to develop a web application in Flask, and I have noticed that if I want to use SQLite3 as my database, then I have to input
DATABASE = 'flaskr.json'
However, if I want to use SQLAlchemy for my database implementation, I have to use something like
DATABASE = 'sqlite:////Users/jake/repos/flaskralchemy/flaskr.db
What is the significance of this change? Also, in all the examples that I have seen, no one creates an actual database on their server. What is going on?
Thanks in advance.
I'm a little unclear what you're asking, where you're setting this DATABASE value and where the flaskr.json value is coming from. But I'll give it a shot, and hopefully it'll be of some use.
So, obviously, you need to tell your app how to connect to your database. You generally set this up in the app configuration like so:
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
For SQLlite, you just need a file path (as above) For MySQL, I have our app set up like so:
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:firstname.lastname@example.org/database'
You can read way more than you ever wanted to know about this in the SQLAlchemy docs:
Also, have you looked at the Flask-SQLAlchemy plugin? It gives you some nice tools to work with this.