diff --git a/db/db.ddl b/db/db.ddl
index 7727df20ff54f487e12cde0dfc1d019fb1baf35e..a7c33b3947513858dc913605bdf69aee215bfc6f 100644
--- a/db/db.ddl
+++ b/db/db.ddl
@@ -179,7 +179,7 @@ CREATE TABLE participants (
 	user_id		int		NOT NULL REFERENCES users(user_id),
 	year		int		NOT NULL,			-- ročník MO
 	school		int		NOT NULL REFERENCES places(place_id),
-	birth_year	int		NOT NULL,
+	birth_year	int,
 	grade		varchar(20)	NOT NULL,			-- třída ve tvaru "X/Y"
 	registered_on	timestamp with time zone	DEFAULT NULL,	-- kdy se účastník přihlásil (NULL, pokud ho přihlásil organizátor)
 	PRIMARY KEY (user_id, year)
diff --git a/db/upgrade-20230929.sql b/db/upgrade-20230929.sql
new file mode 100644
index 0000000000000000000000000000000000000000..576c8e28e870ceff20aa26490566cebd2e827bb6
--- /dev/null
+++ b/db/upgrade-20230929.sql
@@ -0,0 +1,4 @@
+SET ROLE 'mo_osmo';
+
+ALTER TABLE participants
+	ALTER COLUMN birth_year DROP NOT NULL;
diff --git a/mo/db.py b/mo/db.py
index 33f4156b179be7e3779a3e791255df41609060ad..434f35594c8d908405d170365eb41eff3641edb9 100644
--- a/mo/db.py
+++ b/mo/db.py
@@ -541,7 +541,7 @@ class Participant(Base):
     user_id = Column(Integer, ForeignKey('users.user_id'), primary_key=True, nullable=False)
     year = Column(Integer, primary_key=True, nullable=False)
     school = Column(Integer, ForeignKey('places.place_id'), nullable=False)
-    birth_year = Column(Integer, nullable=False)
+    birth_year = Column(Integer, nullable=True)
     grade = Column(String(20), nullable=False)
     registered_on = Column(DateTime(True))