From 44a079fcd79b41e61b856e84197d9874f9fc4bb9 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 27 Dec 2009 11:57:13 +0000 Subject: [PATCH] Enlarge wiki content for MySQL databases (#1071). Limit changed from 64KB to 16MB. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3254 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- ...1227112908_change_wiki_contents_text_limit.rb | 16 ++++++++++++++++ test/unit/wiki_content_test.rb | 8 ++++++++ 2 files changed, 24 insertions(+) create mode 100644 db/migrate/20091227112908_change_wiki_contents_text_limit.rb diff --git a/db/migrate/20091227112908_change_wiki_contents_text_limit.rb b/db/migrate/20091227112908_change_wiki_contents_text_limit.rb new file mode 100644 index 00000000..225f71e6 --- /dev/null +++ b/db/migrate/20091227112908_change_wiki_contents_text_limit.rb @@ -0,0 +1,16 @@ +class ChangeWikiContentsTextLimit < ActiveRecord::Migration + def self.up + # Migrates MySQL databases only + # Postgres would raise an error (see http://dev.rubyonrails.org/ticket/3818) + # Not fixed in Rails 2.3.5 + if ActiveRecord::Base.connection.adapter_name =~ /mysql/i + max_size = 16.megabytes + change_column :wiki_contents, :text, :text, :limit => max_size + change_column :wiki_content_versions, :data, :binary, :limit => max_size + end + end + + def self.down + # no-op + end +end diff --git a/test/unit/wiki_content_test.rb b/test/unit/wiki_content_test.rb index 372121bd..0261678a 100644 --- a/test/unit/wiki_content_test.rb +++ b/test/unit/wiki_content_test.rb @@ -77,4 +77,12 @@ class WikiContentTest < ActiveSupport::TestCase assert_kind_of String, version.text end end + + def test_large_text_should_not_be_truncated_to_64k + page = WikiPage.new(:wiki => @wiki, :title => "Big page") + page.content = WikiContent.new(:text => "a" * 500.kilobyte, :author => User.find(1)) + assert page.save + page.reload + assert_equal 500.kilobyte, page.content.text.size + end end