Removed the default 0 value for issues foreign keys.

It prevents useless "... where id=0" queries and ensures that *_id attributes default to nil.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11417 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2013-02-17 10:14:58 +00:00
parent c0a5796443
commit b4013dc9f2
2 changed files with 32 additions and 0 deletions

View File

@ -0,0 +1,19 @@
class RemoveIssuesDefaultFkValues < ActiveRecord::Migration
def up
change_column_default :issues, :tracker_id, nil
change_column_default :issues, :project_id, nil
change_column_default :issues, :status_id, nil
change_column_default :issues, :assigned_to_id, nil
change_column_default :issues, :priority_id, nil
change_column_default :issues, :author_id, nil
end
def down
change_column_default :issues, :tracker_id, 0
change_column_default :issues, :project_id, 0
change_column_default :issues, :status_id, 0
change_column_default :issues, :assigned_to_id, 0
change_column_default :issues, :priority_id, 0
change_column_default :issues, :author_id, 0
end
end

View File

@ -35,6 +35,19 @@ class IssueTest < ActiveSupport::TestCase
User.current = nil User.current = nil
end end
def test_initialize
issue = Issue.new
assert_nil issue.project_id
assert_nil issue.tracker_id
assert_nil issue.author_id
assert_nil issue.assigned_to_id
assert_nil issue.category_id
assert_equal IssueStatus.default, issue.status
assert_equal IssuePriority.default, issue.priority
end
def test_create def test_create
issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 3, issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 3,
:status_id => 1, :priority => IssuePriority.all.first, :status_id => 1, :priority => IssuePriority.all.first,