diff --git a/db/db.ddl b/db/db.ddl
index a026b7cbaf02de2411914e8c8f2dbbbe0efe3c35..dd6c6f2cc76bc0167b0cf7f6479a8da054b80746 100644
--- a/db/db.ddl
+++ b/db/db.ddl
@@ -37,6 +37,7 @@ CREATE TABLE owl_courses (
 	anon_grading	boolean		NOT NULL DEFAULT FALSE,
 	auto_deadline	varchar(255)	DEFAULT NULL,	-- textual deadline specification
 	pass_threshold	numeric(6, 2)	DEFAULT NULL,	-- points needed to pass the course
+	allow_zip_att	boolean		NOT NULL DEFAULT TRUE,
 	UNIQUE(semid, ident)
 );
 
diff --git a/db/upgrade-20241011.sql b/db/upgrade-20241011.sql
new file mode 100644
index 0000000000000000000000000000000000000000..e30b41dfc01c489a056b343ac97bef82633625e0
--- /dev/null
+++ b/db/upgrade-20241011.sql
@@ -0,0 +1,5 @@
+SET ROLE owl;
+
+ALTER TABLE owl_courses ADD COLUMN
+	allow_zip_att	boolean		NOT NULL DEFAULT TRUE
+;
diff --git a/owl/db.py b/owl/db.py
index bb0a1f3e8d462ca80ad759f1b0aca155c9acb15c..0ee718e3ac7c7f27c958862607c75eba6407043c 100644
--- a/owl/db.py
+++ b/owl/db.py
@@ -96,6 +96,7 @@ class Course(Base):
     anon_grading = Column(Boolean, nullable=False, server_default=text("false"))
     auto_deadline = Column(String(255))
     pass_threshold = Column(Numeric(6, 2), server_default=text("NULL::numeric"))
+    allow_zip_att = Column(Boolean, nullable=False, server_default=text("true"))
 
     semester = relationship('Semester')