Last active
August 25, 2019 17:12
-
-
Save franklintimoteo/2f6964d158b20d9d47a0a1a9d70229b1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import click | |
from flask.cli import with_appcontext | |
from flask_sqlalchemy import SQLAlchemy | |
db = SQLAlchemy() | |
class Role(db.Model): | |
__tablename__ = 'roles' | |
id = db.Column(db.Integer, primary_key=True) | |
name = db.Column(db.String(64), unique=True) | |
#atributo users devolverá a lista de usuários associados a essa função 'role' | |
# db.relationship informa qual modelo está do outro lado | |
#backref direção inversa do relacionamento, adiciona o ATRIBUTO 'role' ao modelo 'user' | |
users = db.relationship('User', backref='role') | |
def __repr__(self): | |
return f'<Role {self.name!r}>' | |
class User(db.Model): | |
__tablename__ = 'users' | |
id = db.Column(db.Integer, primary_key=True) | |
username = db.Column(db.String(64), unique=True, index=True) | |
role_id = db.Column(db.Integer, db.ForeignKey('roles.id')) | |
def __repr__(self): | |
return f'<User {self.username!r}>' | |
def init_db(): | |
db.create_all() | |
@click.command('init-db') | |
@with_appcontext | |
def init_db_command(): | |
"Cria as tabelas do modelo" | |
init_db() | |
click.echo("Inicializando database") | |
def init_app(app): | |
db.init_app(app) | |
app.cli.add_command(init_db_command) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment