Merge pull request #71 from opf/fix/squash_migrations

squash migrations

[ci skip]
pull/6827/head
Oliver Günther 7 years ago committed by GitHub
commit 8fb1232e02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 43
      db/migrate/20130807085604_create_document_journals.rb
  2. 36
      db/migrate/20140320140001_legacy_document_journal_data.rb
  3. 51
      db/migrate/20180323140208_to_v710_aggregated_documents_migrations.rb

@ -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

@ -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

@ -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
Loading…
Cancel
Save