summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2007-11-09 13:32:14 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2007-11-09 13:32:14 +0000
commitb0bb1baeaac665eea6188f05af627697a3e90eaa (patch)
tree58a0971507a4f28336fd690e855e953921fdebcb /lib
parent1454a711caf68cd687886ea9b8d44b3a027e6cbc (diff)
downloadredmine-b0bb1baeaac665eea6188f05af627697a3e90eaa.tar.gz
redmine-b0bb1baeaac665eea6188f05af627697a3e90eaa.zip
Trac importer: user can now choose between sqlite and sqlite3 adapter for Trac database.
Trac importer: issues and wiki modules are enabled by default for the imported project. Fixed: 404 error when trying to save a custom query under certain circumstance. git-svn-id: http://redmine.rubyforge.org/svn/trunk@894 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib')
-rw-r--r--lib/tasks/migrate_from_trac.rake18
1 files changed, 14 insertions, 4 deletions
diff --git a/lib/tasks/migrate_from_trac.rake b/lib/tasks/migrate_from_trac.rake
index ef1d3ab38..ba002cb6f 100644
--- a/lib/tasks/migrate_from_trac.rake
+++ b/lib/tasks/migrate_from_trac.rake
@@ -190,6 +190,9 @@ namespace :redmine do
end
def self.migrate
+ establish_connection({:adapter => trac_adapter,
+ :database => trac_db_path})
+
# Quick database test before clearing Redmine data
TracComponent.count
@@ -370,7 +373,7 @@ namespace :redmine do
def self.limit_for(klass, attribute)
klass.columns_hash[attribute.to_s].limit
end
-
+
def self.encoding(charset)
@ic = Iconv.new('UTF-8', charset)
rescue Iconv::InvalidEncoding
@@ -388,11 +391,17 @@ namespace :redmine do
puts e
return false
end
-
+
def self.trac_directory
@trac_directory
end
+
+ def self.set_trac_adapter(adapter)
+ return false unless %w(sqlite sqlite3).include?(adapter)
+ @trac_adapter = adapter
+ end
+ def self.trac_adapter; @trac_adapter end
def self.trac_db_path; "#{trac_directory}/db/trac.db" end
def self.trac_attachments_directory; "#{trac_directory}/attachments" end
@@ -404,6 +413,8 @@ namespace :redmine do
:description => identifier.humanize
project.identifier = identifier
puts "Unable to create a project with identifier '#{identifier}'!" unless project.save
+ # enable issues and wiki for the created project
+ project.enabled_module_names = ['issue_tracking', 'wiki']
end
@target_project = project.new_record? ? nil : project
end
@@ -441,12 +452,11 @@ namespace :redmine do
end
prompt('Trac directory') {|directory| TracMigrate.set_trac_directory directory}
+ prompt('Trac database adapter (sqlite, sqlite3)', :default => 'sqlite') {|adapter| TracMigrate.set_trac_adapter adapter}
prompt('Trac database encoding', :default => 'UTF-8') {|encoding| TracMigrate.encoding encoding}
prompt('Target project identifier') {|identifier| TracMigrate.target_project_identifier identifier}
puts
- TracMigrate.establish_connection({:adapter => 'sqlite',
- :database => "#{TracMigrate.trac_db_path}"})
TracMigrate.migrate
end
end