|
@@ -0,0 +1,31 @@
|
|
|
+"""This ad-hoc script is to be run when upgrading from 1.0.5 to 1.1.0
|
|
|
+"""
|
|
|
+from app.extensions import db
|
|
|
+from app.log import LOG
|
|
|
+from app.models import Mailbox, GenEmail, User
|
|
|
+
|
|
|
+
|
|
|
+def convert_user_full_mailbox(user):
|
|
|
+ # create a default mailbox
|
|
|
+ default_mb = Mailbox.get_by(user_id=user.id, email=user.email)
|
|
|
+ if not default_mb:
|
|
|
+ LOG.d("create default mailbox for user %s", user)
|
|
|
+ default_mb = Mailbox.create(user_id=user.id, email=user.email, verified=True)
|
|
|
+ db.session.commit()
|
|
|
+
|
|
|
+ # assign existing alias to this mailbox
|
|
|
+ for gen_email in GenEmail.query.filter_by(user_id=user.id):
|
|
|
+ if not gen_email.mailbox_id:
|
|
|
+ LOG.d("Set alias %s mailbox to default mailbox", gen_email)
|
|
|
+ gen_email.mailbox_id = default_mb.id
|
|
|
+
|
|
|
+ # finally set user to full_mailbox
|
|
|
+ user.full_mailbox = True
|
|
|
+ user.default_mailbox_id = default_mb.id
|
|
|
+ db.session.commit()
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == "__main__":
|
|
|
+ for user in User.query.all():
|
|
|
+ if not user.full_mailbox:
|
|
|
+ convert_user_full_mailbox(user)
|