add how to upgrade from 1.0.5 to 1.1.0
This commit is contained in:
parent
a06b318a0e
commit
361baff326
|
@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
Support PGP
|
||||
|
||||
## [1.1.0] - 2020-03-13
|
||||
Support multiple Mailboxes
|
||||
|
||||
## [1.0.5] - 2020-02-24
|
||||
|
|
|
@ -541,6 +541,7 @@ Below are pointers to different topics:
|
|||
|
||||
- [UFW - uncomplicated firewall](docs/ufw.md)
|
||||
- [SES - Amazon Simple Email Service](docs/ses.md)
|
||||
- [Upgrade existing SimpleLogin installation][docs/upgrade.md]
|
||||
|
||||
## Contributing
|
||||
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
# Upgrade to 1.1.0 from 1.0.5
|
||||
|
||||
1.1.0 comes with mailbox feature that requires running a script that puts all existing users to "full-mailbox" mode.
|
||||
|
||||
Please connect to your SimpleLogin container and runs this script:
|
||||
|
||||
First run shell.py:
|
||||
|
||||
```bash
|
||||
docker exec -it sl-app python shell.py
|
||||
```
|
||||
|
||||
Then copy and run this below script:
|
||||
|
||||
```python
|
||||
"""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
|
||||
|
||||
for user in User.query.all():
|
||||
if user.default_mailbox_id:
|
||||
# already run the migration on this user
|
||||
continue
|
||||
|
||||
# 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()
|
||||
```
|
Loading…
Reference in New Issue