]> source.dussan.org Git - redmine.git/commitdiff
Extend Filesize in the attachments table for files with size > 2GB (#10672).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 20 Oct 2015 16:36:28 +0000 (16:36 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 20 Oct 2015 16:36:28 +0000 (16:36 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@14709 e93f8b46-1217-0410-a6f0-8f06a7374b81

db/migrate/20151020182334_change_attachments_filesize_limit_to_8.rb [new file with mode: 0644]
test/unit/attachment_test.rb

diff --git a/db/migrate/20151020182334_change_attachments_filesize_limit_to_8.rb b/db/migrate/20151020182334_change_attachments_filesize_limit_to_8.rb
new file mode 100644 (file)
index 0000000..a58e571
--- /dev/null
@@ -0,0 +1,9 @@
+class ChangeAttachmentsFilesizeLimitTo8 < ActiveRecord::Migration
+  def self.up 
+    change_column :attachments, :filesize, :integer, :limit => 8, :default => 0, :null => false
+  end
+
+  def self.down
+    change_column :attachments, :filesize, :integer, :limit => 4, :default => 0, :null => false
+  end
+end
index ac09f5658ac787b8a9246da32d21f37e0f99ada3..eaaa1459fbf9196bd1b51cd2829579f75a72e480 100644 (file)
@@ -111,6 +111,17 @@ class AttachmentTest < ActiveSupport::TestCase
     end
   end
 
+  def test_filesize_greater_than_2gb_should_be_supported
+    with_settings :attachment_max_size => (50.gigabyte / 1024) do
+      a = Attachment.create!(:container => Issue.find(1),
+                             :file => uploaded_test_file("testfile.txt", "text/plain"),
+                             :author => User.find(1))
+      a.filesize = 20.gigabyte
+      a.save!
+      assert_equal 20.gigabyte, a.reload.filesize
+    end
+  end
+
   def test_description_length_should_be_validated
     a = Attachment.new(:description => 'a' * 300)
     assert !a.save