diff --git a/app/models.py b/app/models.py index a46b95a6e..4d8e97c3b 100644 --- a/app/models.py +++ b/app/models.py @@ -123,6 +123,9 @@ class User(db.Model): nullable=False, default=datetime.datetime.utcnow, ) + preferred_timezone = db.Column( + db.Text, nullable=True, index=False, unique=False, default="US/Eastern" + ) # either email auth or a mobile number must be provided CheckConstraint( diff --git a/migrations/versions/0401_add_e2e_test_user.py b/migrations/versions/0401_add_e2e_test_user.py index d3d9ed5e5..020e746e7 100644 --- a/migrations/versions/0401_add_e2e_test_user.py +++ b/migrations/versions/0401_add_e2e_test_user.py @@ -5,6 +5,7 @@ Revises: 0399_remove_research_mode Create Date: 2023-04-24 11:35:22.873930 """ +import datetime import os import uuid @@ -30,10 +31,18 @@ def upgrade(): "password": password, "mobile_number": "+12025555555", "state": "active", + "created_at": datetime.datetime.utcnow(), + "password_changed_at": datetime.datetime.utcnow(), + "failed_login_count": 0, + "platform_admin": "f", + "email_access_validated_at": datetime.datetime.utcnow(), } - user = User(**data) - db.session.add(user) - db.session.commit() + conn = op.get_bind() + insert_sql = """ + insert into users (id, name, email_address, _password, mobile_number, state, created_at, password_changed_at, failed_login_count, platform_admin, email_access_validated_at) + values (:id, :name, :email_address, :password, :mobile_number, :state, :created_at, :password_changed_at, :failed_login_count, :platform_admin, :email_access_validated_at) + """ + conn.execute(sa.text(insert_sql), data) def downgrade(): diff --git a/migrations/versions/0405_add_preferred_timezone.py b/migrations/versions/0405_add_preferred_timezone.py new file mode 100644 index 000000000..f689516bd --- /dev/null +++ b/migrations/versions/0405_add_preferred_timezone.py @@ -0,0 +1,21 @@ +""" + +Revision ID: 0405_add_preferred_timezone +Revises: 0404_expire_invites + +""" +from alembic import op +from flask import current_app +import sqlalchemy as sa + + +down_revision = "0404_expire_invites" +revision = "0405_add_preferred_timezone" + + +def upgrade(): + op.execute("ALTER TABLE users ADD COLUMN preferred_timezone text") + + +def downgrade(): + op.execute("ALTER TABLE users DROP COLUMN preferred_timezone text")