我的数据库没有被创建(flask-sqlalchemy)

时间:2017-10-22 00:25:58

标签: python sqlalchemy flask-sqlalchemy

基本上我尝试使用flask-sqlalchemy制作Flask应用程序。我想首先将一堆数据加载到我的数据库(database.py)中。但是,我无法使其工作,甚至无法创建myapp.db文件。

我没有收到错误,但是没有创建myapp.db文件。

>>> db.engine
Engine(sqlite://)

以上应该是myapp的东西,我很确定。

我简化了我的代码,使其更简洁。

我有我的应用程序:

from flask import Flask
import os
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

db_path = os.path.join(os.path.dirname(__file__), 'myapp.db')
db_uri = 'sqlite:///{}'.format(db_path)
SQLALCHEMY_DATABASE_URI = db_uri
db = SQLAlchemy(app)

from views import *


if __name__ == '__main__':
    app.secret_key = os.urandom(12)
    app.run(debug=True)

我想运行我的database.py来加载我的所有数据 - 在我看来应该创建一个myapp.db文件??:

from flask_sqlalchemy import SQLAlchemy
import os
import re

from myapp import app
from models import *

## Creates our database
db.create_all()

username = test
password = test
user = User(username=username, password=password)

db.session.add(user)
db.session.commit()

这是我的models.py

from flask_sqlalchemy import SQLAlchemy
from myapp import app
# create a new SQLAlchemy object
db = SQLAlchemy(app)

class User(db.Model):

    """"""
    __tablename__ = "users"

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String, nullable=False)
    password = db.Column(db.String, nullable=False)

1 个答案:

答案 0 :(得分:1)

更改

SQLALCHEMY_DATABASE_URI = db_uri

app.config['SQLALCHEMY_DATABASE_URI'] = db_uri

修好了。