summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorBrandon Labuschagne <blabuschagne@gitlab.com>2019-03-14 12:32:07 +0200
committerBrandon Labuschagne <blabuschagne@gitlab.com>2019-04-05 09:35:34 +0200
commitebfe19e8e7690598f86facc0bb18df4052468fc0 (patch)
tree895c9eff8dec2e7d2a93672d15a148503a6b5d4e /db
parentb54228ad3d79dc0bd7060128e0b75f68cd1c51d9 (diff)
downloadgitlab-ce-ebfe19e8e7690598f86facc0bb18df4052468fc0.tar.gz
Add limit of 128 characters to users name57493-add-limit-to-user-name
Truncate existing users names which exceed 128 characters Include test for truncating users names
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20190325080727_truncate_user_fullname.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/db/migrate/20190325080727_truncate_user_fullname.rb b/db/migrate/20190325080727_truncate_user_fullname.rb
new file mode 100644
index 00000000000..e5f88671eef
--- /dev/null
+++ b/db/migrate/20190325080727_truncate_user_fullname.rb
@@ -0,0 +1,21 @@
+# rubocop:disable Migration/UpdateLargeTable
+class TruncateUserFullname < ActiveRecord::Migration[5.0]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ disable_ddl_transaction!
+
+ def up
+ truncated_name = Arel.sql('SUBSTRING(name from 1 for 128)')
+ where_clause = Arel.sql("LENGTH(name) > 128")
+
+ update_column_in_batches(:users, :name, truncated_name) do |table, query|
+ query.where(where_clause)
+ end
+ end
+
+ def down
+ # noop
+ end
+end