diff --git a/goathacks/__init__.py b/goathacks/__init__.py index 25893b7..5394f78 100644 --- a/goathacks/__init__.py +++ b/goathacks/__init__.py @@ -15,6 +15,8 @@ def create_app(): db.init_app(app) migrate.init_app(app, db) - login.init_app(app) + login.init_app(app) + + from .models import User return app diff --git a/goathacks/models.py b/goathacks/models.py new file mode 100644 index 0000000..3ff5c61 --- /dev/null +++ b/goathacks/models.py @@ -0,0 +1,13 @@ +from flask_login import UserMixin +from sqlalchemy import Boolean, Column, DateTime, Integer, String +from . import db + +class User(db.Model, UserMixin): + id = Column(Integer, primary_key=True) + email = Column(String, unique=True, nullable=False) + password = Column(String, nullable=False) + first_name = Column(String, nullable=False) + last_name = Column(String, nullable=False) + last_login = Column(DateTime, nullable=False) + active = Column(Boolean, nullable=False, default=True) + is_admin = Column(Boolean, nullable=False, default=False) diff --git a/migrations/versions/afb7433de2f3_create_user.py b/migrations/versions/afb7433de2f3_create_user.py new file mode 100644 index 0000000..3966df1 --- /dev/null +++ b/migrations/versions/afb7433de2f3_create_user.py @@ -0,0 +1,39 @@ +"""create user + +Revision ID: afb7433de2f3 +Revises: +Create Date: 2022-12-05 16:33:45.070436 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'afb7433de2f3' +down_revision = None +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('email', sa.String(), nullable=False), + sa.Column('password', sa.String(), nullable=False), + sa.Column('first_name', sa.String(), nullable=False), + sa.Column('last_name', sa.String(), nullable=False), + sa.Column('last_login', sa.DateTime(), nullable=False), + sa.Column('active', sa.Boolean(), nullable=False), + sa.Column('is_admin', sa.Boolean(), nullable=False), + sa.PrimaryKeyConstraint('id'), + sa.UniqueConstraint('email') + ) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('user') + # ### end Alembic commands ###