Fixes a migration that causes error on some legacy DBs

Looks like there are some legacy GitLab databases that have a NOT NULL
constraint for the `created_at` and `updated` fields.

This change fixes the migration by adding a default value to those
columns and I think we always should have it in mind when inserting DB
records through raw SQL.
This commit is contained in:
Rubén Dávila 2018-11-01 18:34:15 -05:00
parent 9bf59ceb69
commit d32a571acb

View file

@ -45,7 +45,7 @@ class CreateMissingNamespaceForInternalUsers < ActiveRecord::Migration
connection.exec_query(query).present? connection.exec_query(query).present?
end end
insert_query = "INSERT INTO namespaces(owner_id, path, name) VALUES(#{user_id}, '#{path}', '#{path}')" insert_query = "INSERT INTO namespaces(owner_id, path, name, created_at, updated_at) VALUES(#{user_id}, '#{path}', '#{path}', NOW(), NOW())"
namespace_id = connection.insert_sql(insert_query) namespace_id = connection.insert_sql(insert_query)
create_route(namespace_id) create_route(namespace_id)
@ -57,7 +57,7 @@ class CreateMissingNamespaceForInternalUsers < ActiveRecord::Migration
row = connection.exec_query("SELECT id, path FROM namespaces WHERE id=#{namespace_id}").first row = connection.exec_query("SELECT id, path FROM namespaces WHERE id=#{namespace_id}").first
id, path = row.values_at('id', 'path') id, path = row.values_at('id', 'path')
execute("INSERT INTO routes(source_id, source_type, path, name) VALUES(#{id}, 'Namespace', '#{path}', '#{path}')") execute("INSERT INTO routes(source_id, source_type, path, name, created_at, updated_at) VALUES(#{id}, 'Namespace', '#{path}', '#{path}', NOW(), NOW())")
end end
def set_notification_email(user_id) def set_notification_email(user_id)