update `server_default` parameter

This commit is contained in:
doanguyen 2019-12-28 01:03:59 +01:00 committed by Son Nguyen Kim
parent f3719aa0f0
commit 3ca5b9628a
2 changed files with 18 additions and 10 deletions

View File

@ -100,7 +100,12 @@ class User(db.Model, ModelMixin, UserMixin):
password = db.Column(db.String(128), nullable=False)
name = db.Column(db.String(128), nullable=False)
is_admin = db.Column(db.Boolean, nullable=False, default=False)
alias_generator = db.Column(db.Integer, nullable=False, default=AliasGeneratorEnum.word.value)
alias_generator = db.Column(
db.Integer,
nullable=False,
default=AliasGeneratorEnum.word.value,
server_default=str(AliasGeneratorEnum.word.value),
)
activated = db.Column(db.Boolean, default=False, nullable=False)
@ -321,8 +326,8 @@ class Client(db.Model, ModelMixin):
def last_user_login(self) -> "ClientUser":
client_user = (
ClientUser.query.filter(ClientUser.client_id == self.id)
.order_by(ClientUser.updated_at)
.first()
.order_by(ClientUser.updated_at)
.first()
)
if client_user:
return client_user
@ -378,7 +383,9 @@ class OauthToken(db.Model, ModelMixin):
return self.expired < arrow.now()
def generate_email(scheme: int = AliasGeneratorEnum.word.value, in_hex: bool = False) -> str:
def generate_email(
scheme: int = AliasGeneratorEnum.word.value, in_hex: bool = False
) -> str:
"""generate an email address that does not exist before
:param scheme: int, value of AliasGeneratorEnum, indicate how the email is generated
:type in_hex: bool, if the generate scheme is uuid, is hex favorable?
@ -391,7 +398,7 @@ def generate_email(scheme: int = AliasGeneratorEnum.word.value, in_hex: bool = F
# check that the client does not exist yet
if not GenEmail.get_by(email=random_email) and not DeletedAlias.get_by(
email=random_email
email=random_email
):
LOG.debug("generate email %s", random_email)
return random_email
@ -431,7 +438,9 @@ class GenEmail(db.Model, ModelMixin):
return GenEmail.create(user_id=user_id, email=email)
@classmethod
def create_new_random(cls, user_id, scheme: int = AliasGeneratorEnum.word.value, in_hex: bool = False):
def create_new_random(
cls, user_id, scheme: int = AliasGeneratorEnum.word.value, in_hex: bool = False
):
"""create a new random alias"""
random_email = generate_email(scheme=scheme, in_hex=in_hex)
return GenEmail.create(user_id=user_id, email=random_email)
@ -570,8 +579,8 @@ class ForwardEmail(db.Model, ModelMixin):
"""return the most recent reply"""
return (
ForwardEmailLog.query.filter_by(forward_id=self.id, is_reply=True)
.order_by(desc(ForwardEmailLog.created_at))
.first()
.order_by(desc(ForwardEmailLog.created_at))
.first()
)

View File

@ -9,7 +9,6 @@ import sqlalchemy_utils
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '8f53e718c79a'
down_revision = '9e1b06b9df13'
@ -19,7 +18,7 @@ depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('users', sa.Column('alias_generator', sa.Integer(), nullable=False))
op.add_column('users', sa.Column('alias_generator', sa.Integer(), server_default="1", nullable=False))
# ### end Alembic commands ###