私の英語はあまり良くありません。 db.create_all()への呼び出しがうまくいかない理由がわかりません。フラスコSQLAlchemy db.create_all()はシェル内にデータベースを作成できません
データベースを作成できません。エラーはありません。
>>python manager.py shell
>>from app import db
>>db.create_all()
ディレクトリツリー
CMDB/
├─app/
│ ├─auth/
│ ├─main/
│ ├─static/
│ ├─templates/
│ ├─__init__.py
│ ├─config.conf
│ ├─models.py
├─manager.py
__init__.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
def create_app():
app = Flask(__name__)
app.config.from_pyfile('config.conf')
db.init_app(app)
from .main import main as main_blueprint
from .auth import auth as auth_blueprint
app.register_blueprint(main_blueprint)
app.register_blueprint(auth_blueprint)
return app
config.conf
DEBUG = True
SECRET_KEY = 'test'
SQLALCHEMY_TRACK_MODIFICATIONS = True
SQLALCHEMY_COMMIT_ON_TEARDOWN = True
SQLALCHEMY_DATABASE_URI='mysql+pymysql://root:[email protected]:3306/cmdb'
models.py
from flask_script import Manager,Shell
from app import create_app,db
from flask_migrate import Migrate,MigrateCommand
app = create_app()
manager = Manager(app)
if __name__ == '__main__':
# app.run()
manager.run()
モデルクラスを他のファイルにインポートしてみてください。 – stamaimer