summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--db/migrate/20140228130325_change_changesets_comments_limit.rb12
-rw-r--r--test/unit/changeset_test.rb11
2 files changed, 23 insertions, 0 deletions
diff --git a/db/migrate/20140228130325_change_changesets_comments_limit.rb b/db/migrate/20140228130325_change_changesets_comments_limit.rb
new file mode 100644
index 000000000..dccc23757
--- /dev/null
+++ b/db/migrate/20140228130325_change_changesets_comments_limit.rb
@@ -0,0 +1,12 @@
+class ChangeChangesetsCommentsLimit < ActiveRecord::Migration
+ def up
+ if ActiveRecord::Base.connection.adapter_name =~ /mysql/i
+ max_size = 16.megabytes
+ change_column :changesets, :comments, :text, :limit => max_size
+ end
+ end
+
+ def down
+ # no-op
+ end
+end
diff --git a/test/unit/changeset_test.rb b/test/unit/changeset_test.rb
index 9a11eeab4..5ee508083 100644
--- a/test/unit/changeset_test.rb
+++ b/test/unit/changeset_test.rb
@@ -536,6 +536,17 @@ class ChangesetTest < ActiveSupport::TestCase
end
end
+ def test_comments_should_accept_more_than_64k
+ c = Changeset.new(:repository => Repository.first,
+ :committed_on => Time.now,
+ :revision => '123',
+ :scmid => '12345',
+ :comments => "a" * 500.kilobyte)
+ assert c.save
+ c.reload
+ assert_equal 500.kilobyte, c.comments.size
+ end
+
def test_identifier
c = Changeset.find_by_revision('1')
assert_equal c.revision, c.identifier