This makes the `CASE` expressions syntactically correct and uses the
correct type for the new default values.
This commit is contained in:
Stephan Günther 2017-09-22 15:58:28 +02:00
parent 14ef0460c8
commit 662f2eb3a6

View File

@ -43,13 +43,13 @@ class StatusDeleted < ActiveRecord::Migration
case ActiveRecord::Base.connection.adapter_name.downcase
when /postgresql/
execute 'ALTER TABLE dmsf_folders ALTER deleted DROP DEFAULT;'
change_column :dmsf_folders, :deleted, 'BOOLEAN USING CASE WHEN 1 THEN TRUE ELSE FALSE END', :null => false, :default => DmsfFolder::STATUS_ACTIVE
change_column :dmsf_folders, :deleted, 'BOOLEAN USING CASE WHEN deleted=1 THEN TRUE ELSE FALSE END', :null => false, :default => false
execute 'ALTER TABLE dmsf_files ALTER deleted DROP DEFAULT;'
change_column :dmsf_files, :deleted, 'BOOLEAN USING CASE WHEN 1 THEN TRUE ELSE FALSE END', :null => false, :default => DmsfFile::STATUS_ACTIVE
change_column :dmsf_files, :deleted, 'BOOLEAN USING CASE WHEN deleted=1 THEN TRUE ELSE FALSE END', :null => false, :default => false
execute 'ALTER TABLE dmsf_file_revisions ALTER deleted DROP DEFAULT;'
change_column :dmsf_file_revisions, :deleted, 'BOOLEAN USING CASE WHEN 1 THEN TRUE ELSE FALSE END', :null => false, :default => DmsfFileRevision::STATUS_ACTIVE
change_column :dmsf_file_revisions, :deleted, 'BOOLEAN USING CASE WHEN deleted=1 THEN TRUE ELSE FALSE END', :null => false, :default => false
execute 'ALTER TABLE dmsf_links ALTER deleted DROP DEFAULT;'
change_column :dmsf_links, :deleted, 'BOOLEAN USING CASE WHEN 1 THEN TRUE ELSE FALSE END', :null => false, :default => DmsfLink::STATUS_ACTIVE
change_column :dmsf_links, :deleted, 'BOOLEAN USING CASE WHEN deleted=1 THEN TRUE ELSE FALSE END', :null => false, :default => false
else
change_column :dmsf_folders, :deleted, :boolean, :null => false, :default => false
change_column :dmsf_files, :deleted, :boolean, :null => false, :default => false
@ -57,5 +57,5 @@ class StatusDeleted < ActiveRecord::Migration
change_column :dmsf_links, :deleted, :boolean, :null => false, :default => false
end
end
end
end