Skip to content

Commit 8fa5b90

Browse files
committed
Migration
1 parent 12c4c57 commit 8fa5b90

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

inbox/models/backends/imap.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,9 @@ class ImapUid(MailSyncBase, UpdatedAtMixin, DeletedAtMixin):
100100
message = relationship(Message, backref=backref("imapuids", passive_deletes=True))
101101
msg_uid = Column(BigInteger, nullable=False, index=True)
102102

103-
folder_id = Column(ForeignKey(Folder.id, ondelete="CASCADE"), nullable=False)
103+
folder_id = Column(
104+
ForeignKey(Folder.id, ondelete="CASCADE"), nullable=False, index=True
105+
)
104106
# We almost always need the folder name too, so eager load by default.
105107
folder = relationship(
106108
Folder, lazy="joined", backref=backref("imapuids", passive_deletes=True)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"""drop folder_id unique constraint
2+
3+
Revision ID: ac2d6f8489bb
4+
Revises: e3cf974d07a5
5+
Create Date: 2024-09-03 09:23:07.779381
6+
7+
"""
8+
9+
# revision identifiers, used by Alembic.
10+
revision = "ac2d6f8489bb"
11+
down_revision = "e3cf974d07a5"
12+
13+
from alembic import op
14+
15+
16+
def upgrade():
17+
op.create_index("folder_id_new", "imapuid", ["folder_id"])
18+
op.drop_index("folder_id", table_name="imapuid")
19+
op.execute("ALTER TABLE imapuid RENAME INDEX folder_id_new TO folder_id")
20+
21+
22+
def downgrade():
23+
op.create_index(
24+
"folder_id_old", "imapuid", ["folder_id", "msg_uid", "account_id"], unique=True
25+
)
26+
op.drop_index("folder_id", table_name="imapuid")
27+
op.execute("ALTER TABLE imapuid RENAME INDEX folder_id_old TO folder_id")

0 commit comments

Comments
 (0)