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

问题描述:

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

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

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

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

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

在这里,我有我的应用程序:

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) 

更改

SQLALCHEMY_DATABASE_URI = db_uri 

app.config['SQLALCHEMY_DATABASE_URI'] = db_uri 

固定它。

+1

请注意,您不应该创建多个单独的'db'对象。在应用程序中定义的'db.Model'不会包含模型等的声明类。 –