diff --git a/changelogs/unreleased/46019-add-missing-migration.yml b/changelogs/unreleased/46019-add-missing-migration.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e9c6c317de230dde408bcd5613797ec672e058f5
--- /dev/null
+++ b/changelogs/unreleased/46019-add-missing-migration.yml
@@ -0,0 +1,5 @@
+---
+title: Add missing migration for minimal Project build_timeout
+merge_request: 18775
+author:
+type: fixed
diff --git a/db/post_migrate/20180507083701_set_minimal_project_build_timeout.rb b/db/post_migrate/20180507083701_set_minimal_project_build_timeout.rb
new file mode 100644
index 0000000000000000000000000000000000000000..d9d9e93f5a3b02bfe9961d4f1ccbeac27f3697e3
--- /dev/null
+++ b/db/post_migrate/20180507083701_set_minimal_project_build_timeout.rb
@@ -0,0 +1,19 @@
+class SetMinimalProjectBuildTimeout < ActiveRecord::Migration
+  include Gitlab::Database::MigrationHelpers
+
+  DOWNTIME = false
+  MINIMUM_TIMEOUT = 600
+
+  # Allow this migration to resume if it fails partway through
+  disable_ddl_transaction!
+
+  def up
+    update_column_in_batches(:projects, :build_timeout, MINIMUM_TIMEOUT) do |table, query|
+      query.where(table[:build_timeout].lt(MINIMUM_TIMEOUT))
+    end
+  end
+
+  def down
+    # no-op
+  end
+end