From 1c4d1c3bd69a6f9ec43cce4ab59de4ba47f73229 Mon Sep 17 00:00:00 2001
From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Date: Thu, 5 Nov 2015 11:03:02 +0100
Subject: [PATCH] Add release model

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
---
 app/models/release.rb                        |  2 ++
 db/migrate/20151105094515_create_releases.rb | 14 ++++++++++++++
 db/schema.rb                                 | 13 ++++++++++++-
 spec/factories/releases.rb                   |  9 +++++++++
 spec/models/release_spec.rb                  |  5 +++++
 5 files changed, 42 insertions(+), 1 deletion(-)
 create mode 100644 app/models/release.rb
 create mode 100644 db/migrate/20151105094515_create_releases.rb
 create mode 100644 spec/factories/releases.rb
 create mode 100644 spec/models/release_spec.rb

diff --git a/app/models/release.rb b/app/models/release.rb
new file mode 100644
index 00000000000..1dc9ce6dd4f
--- /dev/null
+++ b/app/models/release.rb
@@ -0,0 +1,2 @@
+class Release < ActiveRecord::Base
+end
diff --git a/db/migrate/20151105094515_create_releases.rb b/db/migrate/20151105094515_create_releases.rb
new file mode 100644
index 00000000000..fe4608c6662
--- /dev/null
+++ b/db/migrate/20151105094515_create_releases.rb
@@ -0,0 +1,14 @@
+class CreateReleases < ActiveRecord::Migration
+  def change
+    create_table :releases do |t|
+      t.string :tag
+      t.text :description
+      t.integer :project_id
+
+      t.timestamps
+    end
+
+    add_index :releases, :project_id
+    add_index :releases, [:project_id, :tag]
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 73fc83c3d6b..34449024478 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema.define(version: 20151026182941) do
+ActiveRecord::Schema.define(version: 20151105094515) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "plpgsql"
@@ -637,6 +637,17 @@ ActiveRecord::Schema.define(version: 20151026182941) do
 
   add_index "protected_branches", ["project_id"], name: "index_protected_branches_on_project_id", using: :btree
 
+  create_table "releases", force: true do |t|
+    t.string   "tag"
+    t.text     "description"
+    t.integer  "project_id"
+    t.datetime "created_at"
+    t.datetime "updated_at"
+  end
+
+  add_index "releases", ["project_id", "tag"], name: "index_releases_on_project_id_and_tag", using: :btree
+  add_index "releases", ["project_id"], name: "index_releases_on_project_id", using: :btree
+
   create_table "sent_notifications", force: true do |t|
     t.integer "project_id"
     t.integer "noteable_id"
diff --git a/spec/factories/releases.rb b/spec/factories/releases.rb
new file mode 100644
index 00000000000..067d8138e41
--- /dev/null
+++ b/spec/factories/releases.rb
@@ -0,0 +1,9 @@
+# Read about factories at https://github.com/thoughtbot/factory_girl
+
+FactoryGirl.define do
+  factory :release do
+    tag "MyString"
+    description "MyText"
+    project_id 1
+  end
+end
diff --git a/spec/models/release_spec.rb b/spec/models/release_spec.rb
new file mode 100644
index 00000000000..e533734ba0d
--- /dev/null
+++ b/spec/models/release_spec.rb
@@ -0,0 +1,5 @@
+require 'rails_helper'
+
+RSpec.describe Release, type: :model do
+  pending "add some examples to (or delete) #{__FILE__}"
+end
-- 
GitLab