diff --git a/server/lib/twenty/server/migration/1_create_projects.rb b/server/lib/twenty/server/migration/1_create_projects.rb index 78a2a25..74f7ef1 100644 --- a/server/lib/twenty/server/migration/1_create_projects.rb +++ b/server/lib/twenty/server/migration/1_create_projects.rb @@ -2,6 +2,7 @@ Sequel.migration do up do + next if table_exists?(:projects) create_table(:projects) do primary_key :id String :name, null: false diff --git a/server/lib/twenty/server/migration/2_create_tasks.rb b/server/lib/twenty/server/migration/2_create_tasks.rb index 9ee84c8..20901b7 100644 --- a/server/lib/twenty/server/migration/2_create_tasks.rb +++ b/server/lib/twenty/server/migration/2_create_tasks.rb @@ -2,6 +2,7 @@ Sequel.migration do up do + next if table_exists?(:tasks) create_table(:tasks) do |t| primary_key :id String :title, null: false diff --git a/server/lib/twenty/server/migration/3_add_color_to_projects.rb b/server/lib/twenty/server/migration/3_add_color_to_projects.rb index 2629c00..6a34da9 100644 --- a/server/lib/twenty/server/migration/3_add_color_to_projects.rb +++ b/server/lib/twenty/server/migration/3_add_color_to_projects.rb @@ -1,7 +1,13 @@ # frozen_string_literal: true Sequel.migration do + column_exists = ->(table, column) do + schema = Twenty.connection.schema(table) + schema.find { |(key,_)| key == column } + end + up do + next if column_exists.call(:projects, :color) default = Twenty::Mixin::Colorable.random_color add_column :projects, :color, :string, null: false, default: end