SQLAlchemy数据库在文件系统上没有被创建

2024-05-15 16:09:57 发布

您现在位置:Python中文网/ 问答频道 /正文

在结束之前,这是一个重复的问题,请审查

我正在使用下面的ORM模型学习python教程

from views import db
import datetime

class Task(db.Model):

    __tablename__ = "tasks"

    task_id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String, nullable=False)
    due_date = db.Column(db.Date, nullable=False)
    priority = db.Column(db.Integer, nullable=False)
    status = db.Column(db.Integer)

    def __init__(self, name, due_date, priority, status):
        self.name = name
        self.due_date = due_date
        self.priority = priority
        self.status = status

    def __repr__(self):
        return '<name {0}>'.format(self.name)

配置文件的定义如下:

import os

basedir = os.path.abspath(os.path.dirname(__file__))

DATABASE = 'flasktaskr.db'
USERNAME ='admin'
PASSWORD = 'admin'
CSRF_ENABLED = True # cross site request forgery prevention
SECRET_KEY = 'secret' # used in conjunction wth CSR
SQLALCHEMY_TRACK_MODIFICATIONS = False
DATABASE_PATH = os.path.join(basedir, DATABASE)
SQLAlCHEMY_DATABASE_URI = 'sqlite:///' + DATABASE_PATH

视图按如下方式初始化应用程序:

app = Flask(__name__)
app.config.from_object('_config')
db = SQLAlchemy(app)

在执行应用程序之前,必须使用以下命令创建数据库。代码运行时不会出现异常,但不会创建数据库。我已经跟踪了代码并验证了SQLAlCHEMY_数据库_URI设置正确

from views import db
from models import Task
from datetime import date

from models import Task


db.create_all()

db.session.add(Task("Finish this tutorial", date(2019, 6, 22), 10, 1))
db.session.add(Task("Finish Real Python", date(2019, 6, 25), 10, 1))

db.session.commit()

基于此信息,什么会阻止在文件系统上创建我的数据库


Tags: namefromimportself数据库falsetaskdb