Skip to content

Add user_id and created_at to DesignManagement::Version

What does this MR do?

Adds a user_id and created_at timestamp to the design_management_versions table.

Database checklist

When adding migrations:

  • Updated db/schema.rb
  • Added a down method so the migration can be reverted
  • Added the output of the migration(s) to the MR body
  • [-] Added tests for the migration in spec/migrations if necessary (e.g. when migrating data)

When adding foreign keys to existing tables:

  • [-] Included a migration to remove orphaned rows in the source table before adding the foreign key
  • [-] Removed any instances of dependent: ... that may no longer be necessary

When adding tables:

  • [-] Ordered columns based on the Ordering Table Columns guidelines
  • [-] Added foreign keys to any columns pointing to data in other tables
  • Added indexes for fields that are used in statements such as WHERE, ORDER BY, GROUP BY, and JOINs

Migration output

Up:

== 20190918025618 AddUserAndTimestampsToDesignManagementVersions: migrating ===
-- add_column(:design_management_versions, :user_id, :integer)
   -> 0.0037s
-- add_column(:design_management_versions, :created_at, :datetime_with_timezone)
   -> 0.0010s
== 20190918025618 AddUserAndTimestampsToDesignManagementVersions: migrated (0.0048s)

== 20190926041216 AddUserIndexesToDesignManagementVersions: migrating =========
-- transaction_open?()
   -> 0.0000s
-- foreign_keys(:design_management_versions)
   -> 0.0029s
-- execute("ALTER TABLE design_management_versions\nADD CONSTRAINT fk_ee16b939e5\nFOREIGN KEY (user_id)\nREFERENCES users (id)\nON DELETE SET NULL\nNOT VALID;\n")
   -> 0.0058s
-- execute("SET statement_timeout TO 0")
   -> 0.0004s
-- execute("ALTER TABLE design_management_versions VALIDATE CONSTRAINT fk_ee16b939e5;")
   -> 0.0049s
-- execute("RESET ALL")
   -> 0.0003s
-- transaction_open?()
   -> 0.0000s
-- index_exists?(:design_management_versions, :user_id, {:where=>"user_id IS NOT NULL", :algorithm=>:concurrently})
   -> 0.0015s
-- execute("SET statement_timeout TO 0")
   -> 0.0002s
-- add_index(:design_management_versions, :user_id, {:where=>"user_id IS NOT NULL", :algorithm=>:concurrently})
   -> 0.0039s
-- execute("RESET ALL")
   -> 0.0003s
== 20190926041216 AddUserIndexesToDesignManagementVersions: migrated (0.0207s)

Down:

== 20190926041216 AddUserIndexesToDesignManagementVersions: reverting =========
-- transaction_open?()
   -> 0.0000s
-- select_one("SELECT current_setting('server_version_num') AS v")
   -> 0.0005s
-- index_exists?(:design_management_versions, :user_id, {:algorithm=>:concurrently})
   -> 0.0041s
-- execute("SET statement_timeout TO 0")
   -> 0.0003s
-- remove_index(:design_management_versions, {:algorithm=>:concurrently, :column=>:user_id})
   -> 0.0046s
-- execute("RESET ALL")
   -> 0.0002s
-- remove_foreign_key(:design_management_versions, {:column=>:user_id})
   -> 0.0045s
== 20190926041216 AddUserIndexesToDesignManagementVersions: reverted (0.0146s)

== 20190918025618 AddUserAndTimestampsToDesignManagementVersions: reverting ===
-- remove_columns(:design_management_versions, :user_id, :created_at)
   -> 0.0035s
== 20190918025618 AddUserAndTimestampsToDesignManagementVersions: reverted (0.0036s)
Edited by 🤖 GitLab Bot 🤖

Merge request reports