Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

undefined method `container_type' for #<DmsfFile:0x0000000485cd08> Redmine_dmsf 1.5.9 #975

Closed
ausghostdog opened this issue Feb 21, 2019 · 15 comments
Assignees

Comments

@ausghostdog
Copy link

Hi,
In the process of upgrading to Redmine to 4.0, I thought I would uninstall DMSF before the upgrade, I have since come to understand it is not require and I can simply delete the DMSF folder and copy the redmine_dmsf-devel-2.0.0 files to the plugin directory following the upgrade process.

However, prior to finding the upgrading information I tried uninstalling the plugin using the following method

Uninstalling DMSF

Before uninstalling the DMSF plugin, please ensure that the Redmine instance is stopped.

cd [redmine-install-dir]
rake redmine:plugins:migrate NAME=redmine_dmsf VERSION=0 RAILS_ENV=production
rm plugins/redmine_dmsf -Rf

I understand that 1.5 had a bug that was fixed in 1.6 detailed here 9d4c57a

Which I fixed in the code,

When I ran the rake redmine:plugins:migrate NAME=redmine_dmsf VERSION=0 RAILS_ENV=production --trace

The folllowing in produced, looking for information on what caused it? As I stated, I am simply going to delete the files following the upgrade path this is more for an understanding of the issue.

@-virtual-machine:/opt/redmine/current$ rake redmine:plugins:migrate NAME=redmine_dmsf VERSION=0 RAILS_ENV=production --trace
** Invoke redmine:plugins:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute redmine:plugins:migrate
Migrating redmine_dmsf (DMSF)...
== 20170217141601 AddDmsfNotInheritableToCustomFields: reverting ==============
-- remove_column(:custom_fields, :dmsf_not_inheritable)
-> 0.0620s
== 20170217141601 AddDmsfNotInheritableToCustomFields: reverted (0.0624s) =====

== 20170214153223 AddDmsfFileLastRevisionIdToDmsfLock: reverting ==============
-- rename_column(:dmsf_locks, :dmsf_file_last_revision_id, :revision)
-> 0.0565s
== 20170214153223 AddDmsfFileLastRevisionIdToDmsfLock: reverted (0.0570s) =====

== 20170204214753 AddRevisionToDmsfLock: reverting ============================
-- remove_column(:dmsf_locks, :revision)
-> 0.0446s
== 20170204214753 AddRevisionToDmsfLock: reverted (0.0451s) ===================

== 20170118142001 DmsfFileContainer: reverting ================================
-- remove_index(:dmsf_files, [:container_id, :container_type])
-> 0.0314s
-- remove_column(:dmsf_files, :container_type)
-> 0.1047s
-- rename_column(:dmsf_files, :container_id, :project_id)
-> 0.0800s
-- add_index(:dmsf_files, :project_id)
-> 0.0422s
== 20170118142001 DmsfFileContainer: reverted (0.2593s) =======================

== 20170103164701 AddNameToAppovalWorkflowStep: reverting =====================
-- remove_column(:dmsf_workflow_steps, :name)
-> 0.0253s
== 20170103164701 AddNameToAppovalWorkflowStep: reverted (0.0256s) ============

== 20161223133200 CreateDmsfPublicUrls: reverting =============================
-- remove_index(:dmsf_public_urls, {:column=>:token})
-> 0.0156s
-- drop_table(:dmsf_public_urls)
-> 0.0077s
== 20161223133200 CreateDmsfPublicUrls: reverted (0.1862s) ====================

== 20160421150501 AddDigestToRevision: reverting ==============================
-- remove_column(:dmsf_file_revisions, :digest)
-> 0.2407s
== 20160421150501 AddDigestToRevision: reverted (0.2409s) =====================

== 20160222140401 ApprovalWorkflowStdFields: reverting ========================
-- remove_column(:dmsf_workflows, :updated_on)
-> 0.0238s
-- remove_column(:dmsf_workflows, :created_on)
-> 0.0232s
-- remove_column(:dmsf_workflows, :author_id)
-> 0.0236s
== 20160222140401 ApprovalWorkflowStdFields: reverted (0.0711s) ===============

== 20160217133001 StatusDeleted: reverting ====================================
-- change_column(:dmsf_folders, :deleted, :boolean, {:null=>false, :default=>false})
-> 0.0376s
-- change_column(:dmsf_files, :deleted, :boolean, {:null=>false, :default=>false})
-> 0.0724s
-- change_column(:dmsf_file_revisions, :deleted, :boolean, {:null=>false, :default=>false})
-> 0.1053s
-- change_column(:dmsf_links, :deleted, :boolean, {:null=>false, :default=>false})
-> 0.0269s
== 20160217133001 StatusDeleted: reverted (0.2430s) ===========================

== 20160215125801 ApprovalWorkflowStatus: reverting ===========================
-- remove_column(:dmsf_workflows, :status)
-> 0.0218s
== 20160215125801 ApprovalWorkflowStatus: reverted (0.0223s) ==================

== 20151209100001 TitleFormat: reverting ======================================
-- remove_column(:members, :title_format)
-> 0.0741s
== 20151209100001 TitleFormat: reverted (0.0744s) =============================

== 20151020141801 LargeFiles: reverting =======================================
-- change_column(:dmsf_file_revisions, :size, :int, {:null=>true})
-> 0.1139s
== 20151020141801 LargeFiles: reverted (0.1142s) ==============================

== 20150910153701 TitleNotNull: reverting =====================================
-- change_column(:dmsf_file_revisions, :title, :string, {:null=>true})
-> 0.2228s
== 20150910153701 TitleNotNull: reverted (0.2231s) ============================

== 20150202010301 AddUserToLinks: reverting ===================================
-- remove_column(:dmsf_links, :user_id)
-> 0.0234s
== 20150202010301 AddUserToLinks: reverted (0.0237s) ==========================

== 20150130052716 AddExternal: reverting ======================================
-- remove_column(:dmsf_links, :external_url)
-> 0.0253s
== 20150130052716 AddExternal: reverted (0.0255s) =============================

== 20150120152101 NotificationsNullable: reverting ============================
== 20150120152101 NotificationsNullable: reverted (0.0000s) ===================

== 20141205143001 RemoveUniquenessFromWf: reverting ===========================
== 20141205143001 RemoveUniquenessFromWf: reverted (0.0000s) ==================

== 20141015132701 RemoveFolderFromRevision: reverting =========================
-- add_column(:dmsf_file_revisions, :dmsf_folder_id, :integer, {:null=>true})
-> 0.2900s
rake aborted!
StandardError: An error has occurred, all later migrations canceled:

undefined method container_type' for #<DmsfFile:0x0000000485cd08> /home//.rvm/gems/ruby-2.0.0-p643/gems/activemodel-4.2.7.1/lib/active_model/attribute_methods.rb:433:in method_missing'
/opt/redmine/current/plugins/redmine_dmsf/app/models/dmsf_file.rb:525:in propfind_cache_key' /opt/redmine/current/plugins/redmine_dmsf/app/models/dmsf_file_revision.rb:311:in propfind_cache_key'
/opt/redmine/current/plugins/redmine_dmsf/app/models/dmsf_file_revision.rb:301:in save' /opt/redmine/current/plugins/redmine_dmsf/db/migrate/20141015132701_remove_folder_from_revision.rb:32:in block in down'
/home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/relation/batches.rb:51:in block (2 levels) in find_each' /home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/relation/batches.rb:51:in each'
/home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/relation/batches.rb:51:in block in find_each' /home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/relation/batches.rb:124:in find_in_batches'
/home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/relation/batches.rb:50:in find_each' /home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/querying.rb:9:in find_each'
/opt/redmine/current/plugins/redmine_dmsf/db/migrate/20141015132701_remove_folder_from_revision.rb:29:in down' /home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/migration.rb:611:in exec_migration'
/home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/migration.rb:592:in block (2 levels) in migrate' /home//.rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/benchmark.rb:281:in measure'
/home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/migration.rb:591:in block in migrate' /home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:292:in with_connection'
/home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/migration.rb:590:in migrate' /home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/migration.rb:768:in migrate'
/home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/migration.rb:998:in block in execute_migration_in_transaction' /home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/migration.rb:1046:in ddl_transaction'
/home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/migration.rb:997:in execute_migration_in_transaction' /home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/migration.rb:959:in block in migrate'
/home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/migration.rb:955:in each' /home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/migration.rb:955:in migrate'
/home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/migration.rb:830:in down' /home//.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.2.7.1/lib/active_record/migration.rb:805:in migrate'
/opt/redmine/current/lib/redmine/plugin.rb:481:in migrate_plugin' /opt/redmine/current/lib/redmine/plugin.rb:453:in migrate'
/opt/redmine/current/lib/redmine/plugin.rb:464:in migrate' /opt/redmine/current/lib/tasks/redmine.rake:127:in block (3 levels) in <top (required)>'
/home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/task.rb:250:in call' /home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/task.rb:250:in block in execute'
/home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/task.rb:250:in each' /home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/task.rb:250:in execute'
/home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/task.rb:194:in block in invoke_with_call_chain' /home//.rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/monitor.rb:211:in mon_synchronize'
/home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/task.rb:187:in invoke_with_call_chain' /home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/task.rb:180:in invoke'
/home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/application.rb:152:in invoke_task' /home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/application.rb:108:in block (2 levels) in top_level'
/home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/application.rb:108:in each' /home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/application.rb:108:in block in top_level'
/home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/application.rb:117:in run_with_threads' /home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/application.rb:102:in top_level'
/home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/application.rb:80:in block in run' /home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/application.rb:178:in standard_exception_handling'
/home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/lib/rake/application.rb:77:in run' /home//.rvm/gems/ruby-2.0.0-p643/gems/rake-12.0.0/exe/rake:27:in <top (required)>'
/home//.rvm/gems/ruby-2.0.0-p643/bin/rake:23:in load' /home//.rvm/gems/ruby-2.0.0-p643/bin/rake:23:in

'
/home//.rvm/gems/ruby-2.0.0-p643/bin/ruby_executable_hooks:15:in eval' /home//.rvm/gems/ruby-2.0.0-p643/bin/ruby_executable_hooks:15:in '
Tasks: TOP => redmine:plugins:migrate
@-virtual-machine:/opt/redmine/current$

@var-log-skynet
Copy link

@ausghostdog Same issue here. We are migrating to a new server, and wont use the plugin anymore. Did you manage to uninstall it?

@picman
Copy link
Collaborator

picman commented Feb 27, 2019

As you mentioned, there used to be a bug which is fixed in later version. So you can either upgrade to v1.6.0 prior the plugin uninstalling or do a manual uninstallation as follows:

  1. rm -rf plugins/redmine_dmsf
  2. Drop all tables like 'dmsf_%'
  3. Remove the following columns: projects.dmsf_%, members.dmsf_%

@picman
Copy link
Collaborator

picman commented Mar 11, 2019

  1. Remove related schema migrations
delete from schema_migrations where version like '%redmine_dmsf%';

@ausghostdog
Copy link
Author

Hey, thanks for the reply. I removed that as well, still having an issue
image
I then clone the repo down
image
I do the bundle install in the remine root dir and that compleates fine
image

When I run the migrate, it gets a lot further than before but still fails
@-virtual-machine:/opt/redmine/current$ bundle exec rake redmine:plugins:migrate NAME=redmine_dmsf RAILS_ENV="production" --trace
** Invoke redmine:plugins:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute redmine:plugins:migrate
== 1 CreateHierarchy: migrating ===============================================
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- create_table(:dmsf_folders, {:options=>"ENGINE=InnoDB", :id=>:integer})
-> 0.0451s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- create_table(:dmsf_files, {:options=>"ENGINE=InnoDB", :id=>:integer})
-> 0.0113s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- create_table(:dmsf_file_revisions, {:options=>"ENGINE=InnoDB", :id=>:integer})
-> 0.0140s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0001s
-- create_table(:dmsf_file_locks, {:options=>"ENGINE=InnoDB", :id=>:integer})
-> 0.0134s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- create_table(:dmsf_user_prefs, {:options=>"ENGINE=InnoDB", :id=>:integer})
-> 0.0101s
== 1 CreateHierarchy: migrated (0.1002s) ======================================

== 2 DmsfNormalization: migrating =============================================
-- rename_column(:dmsf_folders, :name, :title)
-> 0.0292s
== 2 DmsfNormalization: migrated (0.0296s) ====================================

== 3 Dmsf080: migrating =======================================================
-- add_column(:projects, :dmsf_description, :text, {})
-> 0.0383s
== 3 Dmsf080: migrated (0.0385s) ==============================================

== 4 Dmsf090: migrating =======================================================
-- add_column(:members, :dmsf_mail_notification, :boolean, {})
-> 0.0695s
-- drop_table(:dmsf_user_prefs)
-> 0.0045s
== 4 Dmsf090: migrated (0.0744s) ==============================================

== 5 Dmsf0901: migrating ======================================================
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- create_table(:dmsf_file_revision_accesses, {:options=>"ENGINE=InnoDB", :id=>:integer})
-> 0.0113s
== 5 Dmsf0901: migrated (0.0126s) =============================================

== 6 Dmsf120: migrating =======================================================
-- add_column(:dmsf_file_revisions, :project_id, :integer, {:null=>true})
-> 0.0238s
-- adapter_name()
-> 0.0000s
-- change_column(:dmsf_file_revisions, :project_id, :integer, {:null=>false})
-> 0.0268s
== 6 Dmsf120: migrated (0.0932s) ==============================================

== 7 Dmsf144: migrating =======================================================
-- add_column(:dmsf_file_locks, :entity_type, :integer, {:null=>true})
-> 0.0259s
-- add_column(:dmsf_file_locks, :lock_type_cd, :integer, {:null=>true})
-> 0.0224s
-- add_column(:dmsf_file_locks, :lock_scope_cd, :integer, {:null=>true})
-> 0.0221s
-- add_column(:dmsf_file_locks, :uuid, :string, {:null=>true, :limit=>36})
-> 0.0236s
-- add_column(:dmsf_file_locks, :expires_at, :datetime, {:null=>true})
-> 0.0465s
-- Preserving 0 file lock(s) found in old schema
-- Applying default lock scope / type - Exclusive / Write
-- adapter_name()
-> 0.0000s
-- change_column(:dmsf_file_locks, :entity_type, :integer, {:null=>false})
-> 0.0290s
-- adapter_name()
-> 0.0000s
-- change_column(:dmsf_file_locks, :lock_type_cd, :integer, {:null=>false})
-> 0.0240s
-- adapter_name()
-> 0.0000s
-- change_column(:dmsf_file_locks, :lock_scope_cd, :integer, {:null=>false})
-> 0.0257s
-- rename_column(:dmsf_file_locks, :dmsf_file_id, :entity_id)
-> 0.0250s
-- remove_column(:dmsf_file_locks, :locked)
-> 0.0253s
-- rename_table(:dmsf_file_locks, :dmsf_locks)
-> 0.0050s
-- Completing one-time file migration ...
-- Action was successful
== 7 Dmsf144: migrated (0.2886s) ==============================================

== 20120822100401 CreateDmsfWorkflows: migrating ==============================
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- create_table(:dmsf_workflows, {:options=>"ENGINE=InnoDB", :id=>:integer})
-> 0.0102s
-- add_index(:dmsf_workflows, [:name], {:unique=>true})
-> 0.0327s
-- change_table(:dmsf_file_revisions, {})
-> 0.1310s
== 20120822100401 CreateDmsfWorkflows: migrated (0.1758s) =====================

== 20120822100402 CreateDmsfWorkflowSteps: migrating ==========================
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- create_table(:dmsf_workflow_steps, {:options=>"ENGINE=InnoDB", :id=>:integer})
-> 0.0101s
-- add_index(:dmsf_workflow_steps, :dmsf_workflow_id)
-> 0.0311s
== 20120822100402 CreateDmsfWorkflowSteps: migrated (0.0430s) =================

== 20120822100403 CreateDmsfWorkflowStepAssignments: migrating ================
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- create_table(:dmsf_workflow_step_assignments, {:options=>"ENGINE=InnoDB", :id=>:integer})
-> 0.0128s
-- add_index(:dmsf_workflow_step_assignments, [:dmsf_workflow_step_id, :dmsf_file_revision_id], {:name=>:index_dmsf_wrkfl_step_assigns_on_wrkfl_step_id_and_frev_id, :unique=>true})
-> 0.0276s
== 20120822100403 CreateDmsfWorkflowStepAssignments: migrated (0.0423s) =======

== 20120822100404 CreateDmsfWorkflowStepActions: migrating ====================
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- create_table(:dmsf_workflow_step_actions, {:options=>"ENGINE=InnoDB", :id=>:integer})
-> 0.0104s
-- add_index(:dmsf_workflow_step_actions, :dmsf_workflow_step_assignment_id, {:name=>:idx_dmsf_wfstepact_on_wfstepassign_id})
-> 0.0265s
== 20120822100404 CreateDmsfWorkflowStepActions: migrated (0.0375s) ===========

== 20130819013955 UpdateProjects: migrating ===================================
-- add_column(:projects, :dmsf_notification, :boolean, {})
-> 0.0339s
== 20130819013955 UpdateProjects: migrated (0.0342s) ==========================

== 20131108141401 AddIndexToDmsfFiles: migrating ==============================
-- add_index(:dmsf_files, :project_id)
-> 0.0270s
== 20131108141401 AddIndexToDmsfFiles: migrated (0.0273s) =====================

== 20131108141402 AddIndexToDmsfFolders: migrating ============================
-- add_index(:dmsf_folders, :project_id)
-> 0.0253s
== 20131108141402 AddIndexToDmsfFolders: migrated (0.0255s) ===================

== 20131113141401 AddIndexToDmsfFileRevision: migrating =======================
-- add_index(:dmsf_file_revisions, :dmsf_file_id)
-> 0.0265s
== 20131113141401 AddIndexToDmsfFileRevision: migrated (0.0267s) ==============

== 20131113141402 AddIndexToDmsfLock: migrating ===============================
-- add_index(:dmsf_locks, :entity_id)
-> 0.0276s
== 20131113141402 AddIndexToDmsfLock: migrated (0.0279s) ======================

== 20131113141403 CreateDmsfLinks: migrating ==================================
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- adapter_name()
-> 0.0000s
-- create_table(:dmsf_links, {:options=>"ENGINE=InnoDB", :id=>:integer})
-> 0.0106s
-- add_index(:dmsf_links, :project_id)
-> 0.0260s
== 20131113141403 CreateDmsfLinks: migrated (0.0385s) =========================

== 20140314132501 NotificationsOn: migrating ==================================
-- adapter_name()
-> 0.0000s
-- change_column(:projects, :dmsf_notification, :boolean, {:default=>true, :null=>true})
-> 0.0078s
-- adapter_name()
-> 0.0000s
-- change_column(:dmsf_folders, :notification, :boolean, {:default=>true, :null=>false})
-> 0.0070s
== 20140314132501 NotificationsOn: migrated (0.0164s) =========================

== 20140519133201 TrashBin: migrating =========================================
-- add_column(:dmsf_folders, :deleted, :boolean, {:default=>false, :null=>false})
-> 0.0348s
-- add_column(:dmsf_folders, :deleted_by_user_id, :integer, {})
-> 0.0240s
== 20140519133201 TrashBin: migrated (0.0915s) ================================

== 20141013102501 RemoveProjectFromRevision: migrating ========================
-- remove_column(:dmsf_file_revisions, :project_id)
-> 0.0261s
== 20141013102501 RemoveProjectFromRevision: migrated (0.0265s) ===============

== 20141015132701 RemoveFolderFromRevision: migrating =========================
-- remove_column(:dmsf_file_revisions, :dmsf_folder_id)
-> 0.0255s
== 20141015132701 RemoveFolderFromRevision: migrated (0.0259s) ================

== 20141205143001 RemoveUniquenessFromWf: migrating ===========================
-- index_name(:dmsf_workflows, {:column=>["name"]})
-> 0.0000s
-- index_exists?(:dmsf_workflows, :name, {:name=>"index_dmsf_workflows_on_name"})
-> 0.0005s
-- index_name(:dmsf_workflows, {:column=>:name})
-> 0.0000s
-- index_name_exists?(:dmsf_workflows, "index_dmsf_workflows_on_name")
-> 0.0004s
-- remove_index(:dmsf_workflows, {:column=>:name, :name=>"index_dmsf_workflows_on_name"})
-> 0.0162s
== 20141205143001 RemoveUniquenessFromWf: migrated (0.0192s) ==================

== 20150120152101 NotificationsNullable: migrating ============================
-- adapter_name()
-> 0.0000s
-- change_column(:projects, :dmsf_notification, :boolean, {:default=>false, :null=>true})
-> 0.0079s
-- adapter_name()
-> 0.0000s
-- change_column(:dmsf_folders, :notification, :boolean, {:default=>false, :null=>true})
-> 0.0248s
-- adapter_name()
-> 0.0000s
-- change_column(:dmsf_files, :notification, :boolean, {:default=>false, :null=>true})
-> 0.0247s
== 20150120152101 NotificationsNullable: migrated (0.0596s) ===================

== 20150130052716 AddExternal: migrating ======================================
-- adapter_name()
-> 0.0000s
-- change_column(:dmsf_links, :target_id, :integer, {:null=>true})
-> 0.0262s
-- add_column(:dmsf_links, :external_url, :string, {:null=>true})
-> 0.0240s
== 20150130052716 AddExternal: migrated (0.0515s) =============================

== 20150202010301 AddUserToLinks: migrating ===================================
-- add_column(:dmsf_links, :user_id, :integer, {})
-> 0.0322s
== 20150202010301 AddUserToLinks: migrated (0.0326s) ==========================

== 20150910153701 TitleNotNull: migrating =====================================
-- adapter_name()
-> 0.0000s
-- change_column(:dmsf_file_revisions, :title, :string, {:null=>false})
-> 0.0263s
== 20150910153701 TitleNotNull: migrated (0.0270s) ============================

== 20151020141801 LargeFiles: migrating =======================================
-- adapter_name()
-> 0.0000s
-- change_column(:dmsf_file_revisions, :size, :bigint, {:null=>true})
-> 0.0280s
== 20151020141801 LargeFiles: migrated (0.0288s) ==============================

== 20151209100001 TitleFormat: migrating ======================================
-- add_column(:members, :title_format, :text, {:null=>true, :limit=>100})
rake aborted!
StandardError: An error has occurred, all later migrations canceled:

Mysql2::Error: Duplicate column name 'title_format': ALTER TABLE members ADD title_format tinytext
/home//.rvm/gems/ruby-2.5.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:131:in _query' /home//.rvm/gems/ruby-2.5.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:131:in block in query'
/home//.rvm/gems/ruby-2.5.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:130:in handle_interrupt' /home//.rvm/gems/ruby-2.5.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:130:in query'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:187:in block (2 levels) in execute' /home//.rvm/gems/ruby-2.5.3/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads'
/home//.rvm/gems/ruby-2.5.3/gems/activesupport-5.2.2/lib/active_support/concurrency/share_lock.rb:187:in yield_shares' /home//.rvm/gems/ruby-2.5.3/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:186:in block in execute' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:579:in block (2 levels) in log'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in mon_synchronize' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:578:in block in log'
/home//.rvm/gems/ruby-2.5.3/gems/activesupport-5.2.2/lib/active_support/notifications/instrumenter.rb:23:in instrument' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:569:in log'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:185:in execute' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/mysql/database_statements.rb:28:in execute'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:581:in add_column' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:871:in block in method_missing'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:840:in block in say_with_time' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/benchmark.rb:293:in measure'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:840:in say_with_time' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:860:in method_missing'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration/compatibility.rb:110:in add_column' /opt/redmine/current/plugins/redmine_dmsf/db/migrate/20151209100001_title_format.rb:24:in change'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:814:in exec_migration' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:798:in block (2 levels) in migrate'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/benchmark.rb:293:in measure' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:797:in block in migrate'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in with_connection' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:796:in migrate'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:977:in migrate' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1292:in block in execute_migration_in_transaction'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1345:in ddl_transaction' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1291:in execute_migration_in_transaction'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1263:in block in migrate_without_lock' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1262:in each'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1262:in migrate_without_lock' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1210:in block in migrate'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1363:in with_advisory_lock' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1210:in migrate'
/opt/redmine/current/lib/redmine/plugin.rb:498:in up' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1011:in migrate'
/opt/redmine/current/lib/redmine/plugin.rb:530:in migrate_plugin' /opt/redmine/current/lib/redmine/plugin.rb:471:in migrate'
/opt/redmine/current/lib/redmine/plugin.rb:482:in migrate' /opt/redmine/current/lib/tasks/redmine.rake:135:in block (3 levels) in <top (required)>'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:273:in block in execute' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:273:in each'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:273:in execute' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:214:in block in invoke_with_call_chain'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in mon_synchronize' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:194:in invoke_with_call_chain'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:183:in invoke' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:160:in invoke_task'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:116:in block (2 levels) in top_level' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:116:in each'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:116:in block in top_level' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:125:in run_with_threads'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:110:in top_level' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:83:in block in run'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:186:in standard_exception_handling' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:80:in run'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/exe/rake:27:in <top (required)>' /home//.rvm/gems/ruby-2.5.3/bin/rake:23:in load'
/home//.rvm/gems/ruby-2.5.3/bin/rake:23:in <top (required)>' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli/exec.rb:74:in load'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli/exec.rb:74:in kernel_load' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli/exec.rb:28:in run'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli.rb:463:in exec' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/command.rb:27:in run'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in invoke_command' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor.rb:387:in dispatch'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli.rb:27:in dispatch' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/base.rb:466:in start'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli.rb:18:in start' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/bundler-1.17.3/exe/bundle:30:in block in <top (required)>'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/friendly_errors.rb:124:in with_friendly_errors' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/bundler-1.17.3/exe/bundle:22:in <top (required)>'
/home//.rvm/gems/ruby-2.5.3/bin/bundle:23:in load' /home//.rvm/gems/ruby-2.5.3/bin/bundle:23:in

'

Caused by:
ActiveRecord::StatementInvalid: Mysql2::Error: Duplicate column name 'title_format': ALTER TABLE members ADD title_format tinytext
/home//.rvm/gems/ruby-2.5.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:131:in _query' /home//.rvm/gems/ruby-2.5.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:131:in block in query'
/home//.rvm/gems/ruby-2.5.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:130:in handle_interrupt' /home//.rvm/gems/ruby-2.5.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:130:in query'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:187:in block (2 levels) in execute' /home//.rvm/gems/ruby-2.5.3/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads'
/home//.rvm/gems/ruby-2.5.3/gems/activesupport-5.2.2/lib/active_support/concurrency/share_lock.rb:187:in yield_shares' /home//.rvm/gems/ruby-2.5.3/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:186:in block in execute' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:579:in block (2 levels) in log'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in mon_synchronize' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:578:in block in log'
/home//.rvm/gems/ruby-2.5.3/gems/activesupport-5.2.2/lib/active_support/notifications/instrumenter.rb:23:in instrument' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:569:in log'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:185:in execute' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/mysql/database_statements.rb:28:in execute'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:581:in add_column' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:871:in block in method_missing'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:840:in block in say_with_time' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/benchmark.rb:293:in measure'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:840:in say_with_time' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:860:in method_missing'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration/compatibility.rb:110:in add_column' /opt/redmine/current/plugins/redmine_dmsf/db/migrate/20151209100001_title_format.rb:24:in change'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:814:in exec_migration' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:798:in block (2 levels) in migrate'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/benchmark.rb:293:in measure' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:797:in block in migrate'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in with_connection' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:796:in migrate'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:977:in migrate' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1292:in block in execute_migration_in_transaction'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1345:in ddl_transaction' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1291:in execute_migration_in_transaction'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1263:in block in migrate_without_lock' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1262:in each'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1262:in migrate_without_lock' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1210:in block in migrate'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1363:in with_advisory_lock' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1210:in migrate'
/opt/redmine/current/lib/redmine/plugin.rb:498:in up' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1011:in migrate'
/opt/redmine/current/lib/redmine/plugin.rb:530:in migrate_plugin' /opt/redmine/current/lib/redmine/plugin.rb:471:in migrate'
/opt/redmine/current/lib/redmine/plugin.rb:482:in migrate' /opt/redmine/current/lib/tasks/redmine.rake:135:in block (3 levels) in <top (required)>'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:273:in block in execute' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:273:in each'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:273:in execute' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:214:in block in invoke_with_call_chain'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in mon_synchronize' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:194:in invoke_with_call_chain'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:183:in invoke' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:160:in invoke_task'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:116:in block (2 levels) in top_level' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:116:in each'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:116:in block in top_level' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:125:in run_with_threads'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:110:in top_level' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:83:in block in run'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:186:in standard_exception_handling' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:80:in run'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/exe/rake:27:in <top (required)>' /home//.rvm/gems/ruby-2.5.3/bin/rake:23:in load'
/home//.rvm/gems/ruby-2.5.3/bin/rake:23:in <top (required)>' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli/exec.rb:74:in load'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli/exec.rb:74:in kernel_load' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli/exec.rb:28:in run'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli.rb:463:in exec' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/command.rb:27:in run'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in invoke_command' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor.rb:387:in dispatch'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli.rb:27:in dispatch' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/base.rb:466:in start'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli.rb:18:in start' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/bundler-1.17.3/exe/bundle:30:in block in <top (required)>'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/friendly_errors.rb:124:in with_friendly_errors' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/bundler-1.17.3/exe/bundle:22:in <top (required)>'
/home//.rvm/gems/ruby-2.5.3/bin/bundle:23:in load' /home//.rvm/gems/ruby-2.5.3/bin/bundle:23:in

'

Caused by:
Mysql2::Error: Duplicate column name 'title_format'
/home//.rvm/gems/ruby-2.5.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:131:in _query' /home//.rvm/gems/ruby-2.5.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:131:in block in query'
/home//.rvm/gems/ruby-2.5.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:130:in handle_interrupt' /home//.rvm/gems/ruby-2.5.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:130:in query'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:187:in block (2 levels) in execute' /home//.rvm/gems/ruby-2.5.3/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads'
/home//.rvm/gems/ruby-2.5.3/gems/activesupport-5.2.2/lib/active_support/concurrency/share_lock.rb:187:in yield_shares' /home//.rvm/gems/ruby-2.5.3/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:186:in block in execute' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:579:in block (2 levels) in log'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in mon_synchronize' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:578:in block in log'
/home//.rvm/gems/ruby-2.5.3/gems/activesupport-5.2.2/lib/active_support/notifications/instrumenter.rb:23:in instrument' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:569:in log'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:185:in execute' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/mysql/database_statements.rb:28:in execute'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:581:in add_column' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:871:in block in method_missing'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:840:in block in say_with_time' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/benchmark.rb:293:in measure'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:840:in say_with_time' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:860:in method_missing'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration/compatibility.rb:110:in add_column' /opt/redmine/current/plugins/redmine_dmsf/db/migrate/20151209100001_title_format.rb:24:in change'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:814:in exec_migration' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:798:in block (2 levels) in migrate'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/benchmark.rb:293:in measure' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:797:in block in migrate'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in with_connection' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:796:in migrate'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:977:in migrate' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1292:in block in execute_migration_in_transaction'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1345:in ddl_transaction' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1291:in execute_migration_in_transaction'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1263:in block in migrate_without_lock' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1262:in each'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1262:in migrate_without_lock' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1210:in block in migrate'
/home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1363:in with_advisory_lock' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1210:in migrate'
/opt/redmine/current/lib/redmine/plugin.rb:498:in up' /home//.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2/lib/active_record/migration.rb:1011:in migrate'
/opt/redmine/current/lib/redmine/plugin.rb:530:in migrate_plugin' /opt/redmine/current/lib/redmine/plugin.rb:471:in migrate'
/opt/redmine/current/lib/redmine/plugin.rb:482:in migrate' /opt/redmine/current/lib/tasks/redmine.rake:135:in block (3 levels) in <top (required)>'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:273:in block in execute' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:273:in each'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:273:in execute' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:214:in block in invoke_with_call_chain'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in mon_synchronize' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:194:in invoke_with_call_chain'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/task.rb:183:in invoke' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:160:in invoke_task'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:116:in block (2 levels) in top_level' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:116:in each'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:116:in block in top_level' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:125:in run_with_threads'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:110:in top_level' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:83:in block in run'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:186:in standard_exception_handling' /home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/lib/rake/application.rb:80:in run'
/home//.rvm/gems/ruby-2.5.3/gems/rake-12.3.2/exe/rake:27:in <top (required)>' /home//.rvm/gems/ruby-2.5.3/bin/rake:23:in load'
/home//.rvm/gems/ruby-2.5.3/bin/rake:23:in <top (required)>' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli/exec.rb:74:in load'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli/exec.rb:74:in kernel_load' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli/exec.rb:28:in run'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli.rb:463:in exec' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/command.rb:27:in run'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in invoke_command' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor.rb:387:in dispatch'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli.rb:27:in dispatch' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/base.rb:466:in start'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/cli.rb:18:in start' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/bundler-1.17.3/exe/bundle:30:in block in <top (required)>'
/home//.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/bundler/friendly_errors.rb:124:in with_friendly_errors' /home//.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/bundler-1.17.3/exe/bundle:22:in <top (required)>'
/home//.rvm/gems/ruby-2.5.3/bin/bundle:23:in load' /home//.rvm/gems/ruby-2.5.3/bin/bundle:23:in

'
Tasks: TOP => redmine:plugins:migrate

I went through the database and found DMSF mentioned in the following tables

enabled_modules
issues
journal_details
journals
roles
settings
user_preferences
wiki_content_versions
wiki_contents

Hope this helps

@ausghostdog
Copy link
Author

No idea if this may have broken something, will need to do testing but the following allowed it to work
alter table members drop column title_format;
alter table custom_fields drop column dmsf_not_inheritable;

I am going to test everything I can but 2.0 is now installed

@picman
Copy link
Collaborator

picman commented Mar 12, 2019

The dropping of two more columns was correct.

@ausghostdog
Copy link
Author

Not sure if this is a setting that is missing or something I may have done, but the new version, uploading documents is placing them redmine/current/files/dmsf/2019/03, no matter which project they are uploaded under.

The old version we had installed when a file was uploaded a project folder was created and file placed there.

I have moved all the files from the other server to the new server and made sure they have the same permissions, any thoughts?

@picman
Copy link
Collaborator

picman commented Mar 14, 2019

Yes, the new version uses date related folders for files. The old files are relocated during the plugin's migration task. If they wern't present during the migration, they weren't migrated.
You can migrate the manually, please see #799 and #767.

@ausghostdog
Copy link
Author

Thanks, I ran the script for Linux in #767, it has moved all the files.

:/opt/redmine/current/files/dmsf/2017/06$ ls -la
total 8224
drwxr-xr-x 2 root root 4096 Mar 15 11:11 .
drwxr-xr-x 12 root root 4096 Mar 15 11:11 ..
-rw-r--r-- 1 www-data www-data 31680 Jun 1 2017 170601141713_26_Spool_file_in_T11.JPG
-rw-r--r-- 1 www-data www-data 90113 Jun 2 2017 170602113739_27_samba_folder_730.JPG

I also restarted the Apache server but the projects still do not have files? I also ran bundle exec rake redmine:plugins:migrate RAILS_ENV="production"

@picman
Copy link
Collaborator

picman commented Mar 15, 2019

If you had deleted all the database, it's empty now. If you had some documents you had to keep the database and do the upgrade. So restore your backed up database an re-run the migration.

@picman picman reopened this Mar 15, 2019
@ausghostdog
Copy link
Author

OK, given the database was created with version 1.5.9, and we are running 2.0 now. Could I restore just the dmsf tables and columns? From the backup.

Would that cause any issues given the 1.5.9 database would be copied over the top of the 2.0 tables already present?

So the tables and columns to restore would be
all tables like 'dmsf_%'
following columns: projects.dmsf_%, members.dmsf_%
schema_migrations where version like '%redmine_dmsf%';
table members column title_format;
table custom_fields column dmsf_not_inheritable

rerun migration?

@picman
Copy link
Collaborator

picman commented Mar 15, 2019

yes

@ausghostdog
Copy link
Author

Hey,
Getting back to this as I have been on leave, so I restored the database. When I go to run the migration I get that the tables already exist, which they do. As I just restored the.

Any idea how to run a migrate while ignoring tables that already exist?

@picman
Copy link
Collaborator

picman commented Jun 19, 2019

Just run the migration from the point you need. You can control it with version parameter. Or. modify the version table in the database.

@picman picman closed this as completed Jun 19, 2019
@ausghostdog
Copy link
Author

@picman I have finished this project now, we are running Redmine 4.0 with the latest DMSF, file migration and everything worked like a charm. Thanks for all your help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants