summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20180326202229_create_ci_job_trace_chunks.rb17
-rw-r--r--db/migrate/20180406204716_add_limits_ci_job_trace_chunks_raw_data_for_mysql.rb13
-rw-r--r--db/migrate/limits_ci_job_trace_chunks_raw_data_for_mysql.rb9
-rw-r--r--db/schema.rb10
4 files changed, 49 insertions, 0 deletions
diff --git a/db/migrate/20180326202229_create_ci_job_trace_chunks.rb b/db/migrate/20180326202229_create_ci_job_trace_chunks.rb
new file mode 100644
index 00000000000..abfaea9f54a
--- /dev/null
+++ b/db/migrate/20180326202229_create_ci_job_trace_chunks.rb
@@ -0,0 +1,17 @@
+class CreateCiJobTraceChunks < ActiveRecord::Migration
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ def change
+ create_table :ci_job_trace_chunks, id: :bigserial do |t|
+ t.integer :job_id, null: false
+ t.integer :chunk_index, null: false
+ t.integer :data_store, null: false
+ t.text :raw_data
+
+ t.foreign_key :ci_builds, column: :job_id, on_delete: :cascade
+ t.index [:job_id, :chunk_index], unique: true
+ end
+ end
+end
diff --git a/db/migrate/20180406204716_add_limits_ci_job_trace_chunks_raw_data_for_mysql.rb b/db/migrate/20180406204716_add_limits_ci_job_trace_chunks_raw_data_for_mysql.rb
new file mode 100644
index 00000000000..e7343db7da0
--- /dev/null
+++ b/db/migrate/20180406204716_add_limits_ci_job_trace_chunks_raw_data_for_mysql.rb
@@ -0,0 +1,13 @@
+# See http://doc.gitlab.com/ce/development/migration_style_guide.html
+# for more information on how to write migrations for GitLab.
+require Rails.root.join('db/migrate/limits_ci_job_trace_chunks_raw_data_for_mysql')
+
+class AddLimitsCiJobTraceChunksRawDataForMysql < ActiveRecord::Migration
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ def up
+ LimitsCiJobTraceChunksRawDataForMysql.new.up
+ end
+end
diff --git a/db/migrate/limits_ci_job_trace_chunks_raw_data_for_mysql.rb b/db/migrate/limits_ci_job_trace_chunks_raw_data_for_mysql.rb
new file mode 100644
index 00000000000..5e307ce73c9
--- /dev/null
+++ b/db/migrate/limits_ci_job_trace_chunks_raw_data_for_mysql.rb
@@ -0,0 +1,9 @@
+class LimitsCiJobTraceChunksRawDataForMysql < ActiveRecord::Migration
+ def up
+ return unless Gitlab::Database.mysql?
+
+ # Mysql needs MEDIUMTEXT type (up to 16MB) rather than TEXT (up to 64KB)
+ # Because 'raw_data' is always capped by Ci::JobTraceChunk::CHUNK_SIZE, which is 128KB
+ change_column :ci_job_trace_chunks, :raw_data, :text, limit: 16.megabytes - 1 #MEDIUMTEXT
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index df621956c80..0b70a3ffbeb 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -371,6 +371,15 @@ ActiveRecord::Schema.define(version: 20180418053107) do
add_index "ci_job_artifacts", ["job_id", "file_type"], name: "index_ci_job_artifacts_on_job_id_and_file_type", unique: true, using: :btree
add_index "ci_job_artifacts", ["project_id"], name: "index_ci_job_artifacts_on_project_id", using: :btree
+ create_table "ci_job_trace_chunks", id: :bigserial, force: :cascade do |t|
+ t.integer "job_id", null: false
+ t.integer "chunk_index", null: false
+ t.integer "data_store", null: false
+ t.text "raw_data"
+ end
+
+ add_index "ci_job_trace_chunks", ["job_id", "chunk_index"], name: "index_ci_job_trace_chunks_on_job_id_and_chunk_index", unique: true, using: :btree
+
create_table "ci_pipeline_schedule_variables", force: :cascade do |t|
t.string "key", null: false
t.text "value"
@@ -2071,6 +2080,7 @@ ActiveRecord::Schema.define(version: 20180418053107) do
add_foreign_key "ci_group_variables", "namespaces", column: "group_id", name: "fk_33ae4d58d8", on_delete: :cascade
add_foreign_key "ci_job_artifacts", "ci_builds", column: "job_id", on_delete: :cascade
add_foreign_key "ci_job_artifacts", "projects", on_delete: :cascade
+ add_foreign_key "ci_job_trace_chunks", "ci_builds", column: "job_id", on_delete: :cascade
add_foreign_key "ci_pipeline_schedule_variables", "ci_pipeline_schedules", column: "pipeline_schedule_id", name: "fk_41c35fda51", on_delete: :cascade
add_foreign_key "ci_pipeline_schedules", "projects", name: "fk_8ead60fcc4", on_delete: :cascade
add_foreign_key "ci_pipeline_schedules", "users", column: "owner_id", name: "fk_9ea99f58d2", on_delete: :nullify