From 43a90d532684b4660df2119d80e008a33f760a00 Mon Sep 17 00:00:00 2001 From: Andrew Dryga Date: Sun, 30 Apr 2017 15:26:01 +0300 Subject: [PATCH] Squash migrations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When container starts it takes time to run migrations, and due to migration to different DB it’s a good idea to squash them once (not all of them will be even supported by Cassandra). #222 --- .../20161007140320_add_apis_table.exs | 12 +++++++++ .../migrations/20161007140423_plugin.exs | 1 + .../20161012104815_add_consumers_table.exs | 12 --------- .../20161013140652_add_consumer_plugins.exs | 17 ------------- .../20161018094547_plugins_add_enabled.exs | 9 ------- ...120853_consumer_plugins_add_is_enabled.exs | 9 ------- .../20161031153642_alter_uid2string.exs | 15 ----------- .../20161104121123_add_index_on_apis.exs | 14 ----------- ...1105141517_consumers_external_id_index.exs | 8 ------ ...61114171440_rename_api_request_methods.exs | 15 ----------- .../20161127090151_cleanup_consumers.exs | 25 ------------------- .../20161026114711_add_logs_table.exs | 1 - .../20161130154105_remove_field_from_logs.exs | 15 ----------- 13 files changed, 13 insertions(+), 140 deletions(-) delete mode 100644 priv/repos/configs/migrations/20161012104815_add_consumers_table.exs delete mode 100644 priv/repos/configs/migrations/20161013140652_add_consumer_plugins.exs delete mode 100644 priv/repos/configs/migrations/20161018094547_plugins_add_enabled.exs delete mode 100644 priv/repos/configs/migrations/20161019120853_consumer_plugins_add_is_enabled.exs delete mode 100644 priv/repos/configs/migrations/20161031153642_alter_uid2string.exs delete mode 100644 priv/repos/configs/migrations/20161104121123_add_index_on_apis.exs delete mode 100644 priv/repos/configs/migrations/20161105141517_consumers_external_id_index.exs delete mode 100644 priv/repos/configs/migrations/20161114171440_rename_api_request_methods.exs delete mode 100644 priv/repos/configs/migrations/20161127090151_cleanup_consumers.exs delete mode 100644 priv/repos/logger/migrations/20161130154105_remove_field_from_logs.exs diff --git a/priv/repos/configs/migrations/20161007140320_add_apis_table.exs b/priv/repos/configs/migrations/20161007140320_add_apis_table.exs index 18383940e..42a81d8f5 100644 --- a/priv/repos/configs/migrations/20161007140320_add_apis_table.exs +++ b/priv/repos/configs/migrations/20161007140320_add_apis_table.exs @@ -8,5 +8,17 @@ defmodule Annon.DB.Configs.Repo.Migrations.AddApisTable do timestamps() end + + create unique_index(:apis, [:name]) + + columns = [ + "(request->>'host')", + "(request->>'port')", + "(request->>'path')", + "(request->>'scheme')", + "(request->>'methods')" + ] + + create unique_index(:apis, columns, uniq: true, name: "api_unique_request_index") end end diff --git a/priv/repos/configs/migrations/20161007140423_plugin.exs b/priv/repos/configs/migrations/20161007140423_plugin.exs index c639adb53..d4eec5675 100644 --- a/priv/repos/configs/migrations/20161007140423_plugin.exs +++ b/priv/repos/configs/migrations/20161007140423_plugin.exs @@ -5,6 +5,7 @@ defmodule Annon.DB.Configs.Repo.Migrations.Plugin do create table(:plugins) do add :api_id, :integer add :name, :string, size: 128 + add :is_enabled, :boolean add :settings, :map timestamps() diff --git a/priv/repos/configs/migrations/20161012104815_add_consumers_table.exs b/priv/repos/configs/migrations/20161012104815_add_consumers_table.exs deleted file mode 100644 index 6eaca3933..000000000 --- a/priv/repos/configs/migrations/20161012104815_add_consumers_table.exs +++ /dev/null @@ -1,12 +0,0 @@ -defmodule Annon.DB.Configs.Repo.Migrations.AddConsumersTable do - use Ecto.Migration - - def change do - create table(:consumers, primary_key: false) do - add :external_id, :uuid - add :metadata, :map - - timestamps() - end - end -end diff --git a/priv/repos/configs/migrations/20161013140652_add_consumer_plugins.exs b/priv/repos/configs/migrations/20161013140652_add_consumer_plugins.exs deleted file mode 100644 index 040f7bafb..000000000 --- a/priv/repos/configs/migrations/20161013140652_add_consumer_plugins.exs +++ /dev/null @@ -1,17 +0,0 @@ -defmodule Annon.DB.Configs.Repo.Migrations.AddConsumerPluginSettings do - use Ecto.Migration - - def change do - create table(:consumer_plugin_settings) do - add :external_id, :uuid - add :plugin_id, :integer - add :settings, :map - - timestamps() - end - - index_name = :consumer_plugin_settings_external_id_plugin_id_index - - create unique_index(:consumer_plugin_settings, [:external_id, :plugin_id], name: index_name) - end -end diff --git a/priv/repos/configs/migrations/20161018094547_plugins_add_enabled.exs b/priv/repos/configs/migrations/20161018094547_plugins_add_enabled.exs deleted file mode 100644 index afa4c36d2..000000000 --- a/priv/repos/configs/migrations/20161018094547_plugins_add_enabled.exs +++ /dev/null @@ -1,9 +0,0 @@ -defmodule Annon.DB.Configs.Repo.Migrations.PluginsAddEnabled do - use Ecto.Migration - - def change do - alter table(:plugins) do - add :is_enabled, :boolean - end - end -end diff --git a/priv/repos/configs/migrations/20161019120853_consumer_plugins_add_is_enabled.exs b/priv/repos/configs/migrations/20161019120853_consumer_plugins_add_is_enabled.exs deleted file mode 100644 index 3060d8f54..000000000 --- a/priv/repos/configs/migrations/20161019120853_consumer_plugins_add_is_enabled.exs +++ /dev/null @@ -1,9 +0,0 @@ -defmodule Annon.DB.Configs.Repo.Migrations.ConsumerPluginsAddIsEnabled do - use Ecto.Migration - - def change do - alter table(:consumer_plugin_settings) do - add :is_enabled, :boolean - end - end -end diff --git a/priv/repos/configs/migrations/20161031153642_alter_uid2string.exs b/priv/repos/configs/migrations/20161031153642_alter_uid2string.exs deleted file mode 100644 index cb2344073..000000000 --- a/priv/repos/configs/migrations/20161031153642_alter_uid2string.exs +++ /dev/null @@ -1,15 +0,0 @@ -defmodule Annon.DB.Configs.Repo.Migrations.AlterUid2string do - use Ecto.Migration - - def change do - alter table(:consumers) do - remove :external_id - add :external_id, :string - end - - alter table(:consumer_plugin_settings) do - remove :external_id - add :external_id, :string - end - end -end diff --git a/priv/repos/configs/migrations/20161104121123_add_index_on_apis.exs b/priv/repos/configs/migrations/20161104121123_add_index_on_apis.exs deleted file mode 100644 index 7501b6470..000000000 --- a/priv/repos/configs/migrations/20161104121123_add_index_on_apis.exs +++ /dev/null @@ -1,14 +0,0 @@ -defmodule Annon.DB.Repo.Migrations.AddIndexOnApis do - use Ecto.Migration - - def change do - columns = [ - "(request->>'host')", - "(request->>'port')", - "(request->>'path')", - "(request->>'scheme')", - "(request->>'method')" - ] - create unique_index(:apis, columns, uniq: true, name: "api_unique_request_index") - end -end diff --git a/priv/repos/configs/migrations/20161105141517_consumers_external_id_index.exs b/priv/repos/configs/migrations/20161105141517_consumers_external_id_index.exs deleted file mode 100644 index 469a239a9..000000000 --- a/priv/repos/configs/migrations/20161105141517_consumers_external_id_index.exs +++ /dev/null @@ -1,8 +0,0 @@ -defmodule Annon.DB.Configs.Repo.Migrations.ConsumersExternalIdIndex do - use Ecto.Migration - - def change do - create unique_index(:apis, [:name]) - create unique_index(:consumers, [:external_id]) - end -end diff --git a/priv/repos/configs/migrations/20161114171440_rename_api_request_methods.exs b/priv/repos/configs/migrations/20161114171440_rename_api_request_methods.exs deleted file mode 100644 index f7774ba1d..000000000 --- a/priv/repos/configs/migrations/20161114171440_rename_api_request_methods.exs +++ /dev/null @@ -1,15 +0,0 @@ -defmodule Annon.DB.Configs.Repo.Migrations.RenameAPIRequestMethods do - use Ecto.Migration - - def change do - columns = [ - "(request->>'host')", - "(request->>'port')", - "(request->>'path')", - "(request->>'scheme')", - "(request->>'methods')" - ] - drop index(:apis, columns, name: "api_unique_request_index") - create unique_index(:apis, columns, uniq: true, name: "api_unique_request_index") - end -end diff --git a/priv/repos/configs/migrations/20161127090151_cleanup_consumers.exs b/priv/repos/configs/migrations/20161127090151_cleanup_consumers.exs deleted file mode 100644 index 56716b4bd..000000000 --- a/priv/repos/configs/migrations/20161127090151_cleanup_consumers.exs +++ /dev/null @@ -1,25 +0,0 @@ -defmodule Annon.DB.Configs.Repo.Migrations.CleanupConsumers do - use Ecto.Migration - - def up do - drop table(:consumers) - drop table(:consumer_plugin_settings) - end - - def down do - create table(:consumers, primary_key: false) do - add :external_id, :uuid - add :metadata, :map - - timestamps() - end - - create table(:consumer_plugin_settings) do - add :external_id, :uuid - add :plugin_id, :integer - add :settings, :map - - timestamps() - end - end -end diff --git a/priv/repos/logger/migrations/20161026114711_add_logs_table.exs b/priv/repos/logger/migrations/20161026114711_add_logs_table.exs index 00ed424fc..bd8996a23 100644 --- a/priv/repos/logger/migrations/20161026114711_add_logs_table.exs +++ b/priv/repos/logger/migrations/20161026114711_add_logs_table.exs @@ -5,7 +5,6 @@ defmodule Annon.DB.Logger.Repo.Migrations.AddLogsTable do create table(:logs, primary_key: false) do add :id, :string, primary_key: true add :api, :map - add :consumer, :map add :idempotency_key, :string add :ip_address, :string add :request, :map diff --git a/priv/repos/logger/migrations/20161130154105_remove_field_from_logs.exs b/priv/repos/logger/migrations/20161130154105_remove_field_from_logs.exs deleted file mode 100644 index 9c9f02e73..000000000 --- a/priv/repos/logger/migrations/20161130154105_remove_field_from_logs.exs +++ /dev/null @@ -1,15 +0,0 @@ -defmodule Annon.DB.Configs.Repo.Migrations.RemoveFieldFromLogs do - use Ecto.Migration - - def up do - alter table(:logs) do - remove :consumer - end - end - - def down do - alter table(:logs) do - add :consumer, :map - end - end -end