#python #sqlite #flask #server
#python #sqlite #flask #сервер
Вопрос:
Я хочу создать приложение flask, используя шаблон фабрики приложений, я хочу разделить свою логику и свои модели. Сервер запускается без ошибок, но после того, как я переношу свою базу данных, он создает пустую базу данных.
В настоящее время я использую ubuntu, в Windows он создает базу данных должным образом.
__init__.py:
from flask import Flask, request, jsonify
from .extensions import db
from flask_migrate import Migrate
migrate = Migrate()
def create_app():
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
from .models import File
db.init_app(app)
migrate.init_app(app, db)
return app
models.py :
from .extensions import db
class File(db.Model):
id = db.Column(db.Integer, primary_key=True)
audio_path = db.Column(db.String(255), unique=True)
original_txt = db.Column(db.String(255), unique=True)
corrected_txt = db.Column(db.String(255), unique=True)
creation_date = db.Column(db.DateTime)
def __repr__(self):
return 'File %r' % self.audio_path
Расширения.py — это то, где я определяю свою базу данных SQLAlchemy:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
Почему он не создает базу данных из моей модели?
Ответ №1:
это просто работает для меня:
вам нужно объявить db = SQLAlchemy() внутри models.py файл, не в файле расширений, а затем в файле init.py импортируйте базу данных из моделей, инициализируйте класс db с помощью: db.init_app(приложение). и migrate.init_app (приложение, БД).