diff --git a/CHANGELOG b/CHANGELOG
index e956d074d728073e1ce8a28c3cf0b414f00abde3..dfc849fe7e198dcf369e5acf6d128b0c17f58c0d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 Please view this file on the master branch, on stable branches it's out of date.
 
 v 8.2.0 (unreleased)
+  - Ensure MySQL CI limits DB migrations occur after the fields have been created (Stan Hu)
   - Improved performance of replacing references in comments
   - Fix duplicate repositories in GitHub import page (Stan Hu)
   - Redirect to a default path if HTTP_REFERER is not set (Stan Hu)
diff --git a/db/migrate/20151020173516_ci_limits_to_mysql.rb b/db/migrate/20151020173516_ci_limits_to_mysql.rb
new file mode 100644
index 0000000000000000000000000000000000000000..9bb960082f58befe42999d26e654750eae9db8c9
--- /dev/null
+++ b/db/migrate/20151020173516_ci_limits_to_mysql.rb
@@ -0,0 +1,9 @@
+class CiLimitsToMysql < ActiveRecord::Migration
+  def change
+    return unless ActiveRecord::Base.configurations[Rails.env]['adapter'] =~ /^mysql/
+
+    # CI
+    change_column :ci_builds, :trace, :text, limit: 1073741823
+    change_column :ci_commits, :push_data, :text, limit: 16777215
+  end
+end
diff --git a/db/migrate/limits_to_mysql.rb b/db/migrate/limits_to_mysql.rb
index 73605d4c5e3096900949f2bb2287ae6c3e3e3a7b..2b7afae6d7cb3f73197f2c6d9549ba216429af82 100644
--- a/db/migrate/limits_to_mysql.rb
+++ b/db/migrate/limits_to_mysql.rb
@@ -6,9 +6,5 @@ class LimitsToMysql < ActiveRecord::Migration
     change_column :merge_request_diffs, :st_diffs, :text, limit: 2147483647
     change_column :snippets, :content, :text, limit: 2147483647
     change_column :notes, :st_diff, :text, limit: 2147483647
-
-    # CI
-    change_column :ci_builds, :trace, :text, limit: 1073741823
-    change_column :ci_commits, :push_data, :text, limit: 16777215
   end
 end