Develop shell command for instantiating all DB tables fast, import all models

This commit is contained in:
Xevion
2022-03-27 09:44:54 -05:00
parent 5ebbbd1b03
commit ced2f975ae
3 changed files with 7 additions and 3 deletions

View File

@@ -25,7 +25,7 @@ def create_app():
login_manager.login_view = 'auth.login'
login_manager.init_app(app)
from .models import User
from .models import User, Post, Comment
@login_manager.user_loader
def load_user(user_id):
@@ -82,4 +82,8 @@ def create_app():
print(f'Committing {len(users)} users into DB.')
db.session.commit()
@app.cli.command("create_all")
def db_create_all() -> None:
db.create_all(app=app)
return app

View File

@@ -1,7 +1,7 @@
from flask import Blueprint, flash, redirect, request, url_for
from flask_login import current_user, login_required
from create_app import db
from .create_app import db
from .models import User
blueprint = Blueprint('forms', __name__)

View File

@@ -63,4 +63,4 @@ class Comment(db.Model):
id = db.Column(db.Integer, primary_key=True)
text = db.Column(db.Text, nullable=False)
author = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
post = db.Column(db.Integer, db.ForeignKey('post.id'), nulllable=False)
post = db.Column(db.Integer, db.ForeignKey('post.id'), nullable=False)