БД SQLAlchemy не создан в файловой системе - PullRequest
0 голосов
/ 20 мая 2019

Перед закрытием дубликата, пожалуйста, просмотрите вопрос.

Я работаю над учебником по Python со следующей моделью ORM.

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_DATABASE_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()

Основываясь на этой информации, что помешает созданию моей базы данных в файловой системе?

1 Ответ

0 голосов
/ 02 июня 2019

Убедитесь, что опечатка есть только в этом сообщении или тоже в коде: SQLAlCHEMY_DATABASE_URI должно быть SQLALCHEMY_DATABASE_URI (все заглавные буквы

...