diff --git a/db/migrate/20130807085604_create_document_journals.rb b/db/migrate/20130807085604_create_document_journals.rb deleted file mode 100644 index b6abee6073..0000000000 --- a/db/migrate/20130807085604_create_document_journals.rb +++ /dev/null @@ -1,43 +0,0 @@ -#-- copyright -# OpenProject Documents Plugin -# -# Former OpenProject Core functionality extracted into a plugin. -# -# Copyright (C) 2009-2014 the OpenProject Foundation (OPF) -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version 3. -# -# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: -# Copyright (C) 2006-2013 Jean-Philippe Lang -# Copyright (C) 2010-2013 the ChiliProject Team -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# See doc/COPYRIGHT.rdoc for more details. -#++ - -class CreateDocumentJournals < ActiveRecord::Migration[5.0] - def change - create_table :document_journals do |t| - t.integer :journal_id, :null => false - t.integer :project_id, :default => 0, :null => false - t.integer :category_id, :default => 0, :null => false - t.string :title, :limit => 60, :default => "", :null => false - t.text :description - t.datetime :created_on - end - end -end diff --git a/db/migrate/20140320140001_legacy_document_journal_data.rb b/db/migrate/20140320140001_legacy_document_journal_data.rb deleted file mode 100644 index 0012af3e91..0000000000 --- a/db/migrate/20140320140001_legacy_document_journal_data.rb +++ /dev/null @@ -1,36 +0,0 @@ -#-- encoding: UTF-8 -#-- copyright -# OpenProject is a project management system. -# Copyright (C) 2011-2013 the OpenProject Foundation (OPF) -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version 3. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# See doc/COPYRIGHT.md for more details. -#++ -# - -require Rails.root.join("db","migrate","migration_utils","legacy_journal_migrator").to_s - -class LegacyDocumentJournalData < ActiveRecord::Migration[5.0] - def up - migrator.run - end - - def down - migrator.remove_journals_derived_from_legacy_journals 'document_journals' - end - - def migrator - @migrator ||= Migration::LegacyJournalMigrator.new "DocumentJournal", "document_journals" - end -end diff --git a/db/migrate/20130814131242_create_documents_tables.rb b/db/migrate/20180323140208_to_v710_aggregated_documents_migrations.rb similarity index 50% rename from db/migrate/20130814131242_create_documents_tables.rb rename to db/migrate/20180323140208_to_v710_aggregated_documents_migrations.rb index 6f8099df4a..f29688dba5 100644 --- a/db/migrate/20130814131242_create_documents_tables.rb +++ b/db/migrate/20180323140208_to_v710_aggregated_documents_migrations.rb @@ -1,21 +1,11 @@ #-- copyright -# OpenProject Documents Plugin +# OpenProject Reporting Plugin # -# Former OpenProject Core functionality extracted into a plugin. -# -# Copyright (C) 2009-2014 the OpenProject Foundation (OPF) -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version 3. -# -# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: -# Copyright (C) 2006-2013 Jean-Philippe Lang -# Copyright (C) 2010-2013 the ChiliProject Team +# Copyright (C) 2010 - 2014 the OpenProject Foundation (OPF) # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. +# version 3. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -25,14 +15,21 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# See doc/COPYRIGHT.rdoc for more details. #++ -class CreateDocumentsTables < ActiveRecord::Migration[5.0] +require Rails.root.join("db","migrate","migration_utils","migration_squasher").to_s +# This migration aggregates the migrations detailed in MIGRATION_FILES +class ToV710AggregatedDocumentsMigrations < ActiveRecord::Migration[5.1] + + MIGRATION_FILES = <<-MIGRATIONS + 20130807085604_create_document_journals.rb + 20130814131242_create_documents_tables.rb + 20140320140001_legacy_document_journal_data.rb + MIGRATIONS + def up - unless ActiveRecord::Base.connection.table_exists? 'documents' - create_table "documents" do |t| + Migration::MigrationSquasher.squash(migrations) do + create_table "documents", id: :integer do |t| t.integer "project_id", :default => 0, :null => false t.integer "category_id", :default => 0, :null => false t.string "title", :limit => 60, :default => "", :null => false @@ -42,10 +39,28 @@ class CreateDocumentsTables < ActiveRecord::Migration[5.0] add_index "documents", ["category_id"], :name => "index_documents_on_category_id" add_index "documents", ["created_on"], :name => "index_documents_on_created_on" add_index "documents", ["project_id"], :name => "documents_project_id" + + create_table :document_journals, id: :integer do |t| + t.integer :journal_id, :null => false + t.integer :project_id, :default => 0, :null => false + t.integer :category_id, :default => 0, :null => false + t.string :title, :limit => 60, :default => "", :null => false + t.text :description + t.datetime :created_on + end end end def down drop_table :documents + drop_table :document_journals + end + + private + + def migrations + MIGRATION_FILES.split.map do |m| + m.gsub(/_.*\z/, '').to_i + end end end