@@ -403,10 +403,16 class Repository < ActiveRecord::Base | |||||
403 |
|
403 | |||
404 | private |
|
404 | private | |
405 |
|
405 | |||
|
406 | # Deletes repository data | |||
406 | def clear_changesets |
|
407 | def clear_changesets | |
407 | cs, ch, ci = Changeset.table_name, Change.table_name, "#{table_name_prefix}changesets_issues#{table_name_suffix}" |
|
408 | cs = Changeset.table_name | |
|
409 | ch = Change.table_name | |||
|
410 | ci = "#{table_name_prefix}changesets_issues#{table_name_suffix}" | |||
|
411 | cp = "#{table_name_prefix}changeset_parents#{table_name_suffix}" | |||
|
412 | ||||
408 | connection.delete("DELETE FROM #{ch} WHERE #{ch}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})") |
|
413 | connection.delete("DELETE FROM #{ch} WHERE #{ch}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})") | |
409 | connection.delete("DELETE FROM #{ci} WHERE #{ci}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})") |
|
414 | connection.delete("DELETE FROM #{ci} WHERE #{ci}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})") | |
|
415 | connection.delete("DELETE FROM #{cp} WHERE #{cp}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})") | |||
410 | connection.delete("DELETE FROM #{cs} WHERE #{cs}.repository_id = #{id}") |
|
416 | connection.delete("DELETE FROM #{cs} WHERE #{cs}.repository_id = #{id}") | |
411 | end |
|
417 | end | |
412 | end |
|
418 | end |
@@ -74,6 +74,15 class RepositoryTest < ActiveSupport::TestCase | |||||
74 | end |
|
74 | end | |
75 | end |
|
75 | end | |
76 |
|
76 | |||
|
77 | def test_destroy_should_delete_parents_associations | |||
|
78 | changeset = Changeset.find(102) | |||
|
79 | changeset.parents = Changeset.find_all_by_id([100, 101]) | |||
|
80 | ||||
|
81 | assert_difference 'Changeset.connection.select_all("select * from changeset_parents").size', -2 do | |||
|
82 | Repository.find(10).destroy | |||
|
83 | end | |||
|
84 | end | |||
|
85 | ||||
77 | def test_should_not_create_with_disabled_scm |
|
86 | def test_should_not_create_with_disabled_scm | |
78 | # disable Subversion |
|
87 | # disable Subversion | |
79 | with_settings :enabled_scm => ['Darcs', 'Git'] do |
|
88 | with_settings :enabled_scm => ['Darcs', 'Git'] do |
General Comments 0
You need to be logged in to leave comments.
Login now