2012-04-05 18:11:02 +01:00
|
|
|
# encoding: UTF-8
|
2011-03-09 13:13:36 +00:00
|
|
|
# This file is auto-generated from the current state of the database. Instead
|
|
|
|
# of editing this file, please use the migrations feature of Active Record to
|
|
|
|
# incrementally modify your database, and then regenerate this schema definition.
|
|
|
|
#
|
|
|
|
# Note that this schema.rb definition is the authoritative source for your
|
|
|
|
# database schema. If you need to create the application database on another
|
|
|
|
# system, you should be using db:schema:load, not running all the migrations
|
|
|
|
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
|
|
|
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
|
|
|
#
|
2014-03-13 10:23:53 +00:00
|
|
|
# It's strongly recommended that you check this file into your version control system.
|
2011-03-09 13:13:36 +00:00
|
|
|
|
2015-06-01 05:51:36 +01:00
|
|
|
ActiveRecord::Schema.define(version: 20150601043133) do
|
2012-03-02 10:39:48 +00:00
|
|
|
|
2014-03-13 10:23:53 +00:00
|
|
|
# These are extensions that must be enabled in order to support this database
|
|
|
|
enable_extension "plpgsql"
|
2014-03-11 12:50:40 +00:00
|
|
|
enable_extension "hstore"
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "activity_feeds", force: :cascade do |t|
|
|
|
|
t.integer "user_id", null: false, index: {name: "index_activity_feeds_on_user_id_and_kind", with: ["kind"]}
|
2012-02-29 17:12:06 +00:00
|
|
|
t.string "kind"
|
|
|
|
t.text "data"
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "project_owner", index: {name: "index_activity_feeds_on_project_owner"}
|
|
|
|
t.string "project_name", index: {name: "index_activity_feeds_on_project_name"}
|
|
|
|
t.integer "creator_id", index: {name: "index_activity_feeds_on_creator_id"}
|
2012-01-25 08:31:49 +00:00
|
|
|
end
|
2011-03-12 14:15:30 +00:00
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "advisories", force: :cascade do |t|
|
|
|
|
t.string "advisory_id", index: {name: "index_advisories_on_advisory_id", unique: true}
|
2014-03-13 10:23:53 +00:00
|
|
|
t.text "description", default: ""
|
|
|
|
t.text "references", default: ""
|
2015-06-05 19:08:39 +01:00
|
|
|
t.text "update_type", default: "", index: {name: "index_advisories_on_update_type"}
|
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2012-05-04 18:12:51 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "advisories_platforms", id: false, force: :cascade do |t|
|
|
|
|
t.integer "advisory_id", index: {name: "index_advisories_platforms_on_advisory_id"}
|
|
|
|
t.integer "platform_id", index: {name: "index_advisories_platforms_on_platform_id"}
|
2012-05-04 18:12:51 +01:00
|
|
|
end
|
2015-06-05 19:08:39 +01:00
|
|
|
add_index "advisories_platforms", ["advisory_id", "platform_id"], name: "advisory_platform_index", unique: true
|
2012-05-04 18:12:51 +01:00
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "advisories_projects", id: false, force: :cascade do |t|
|
|
|
|
t.integer "advisory_id", index: {name: "index_advisories_projects_on_advisory_id"}
|
|
|
|
t.integer "project_id", index: {name: "index_advisories_projects_on_project_id"}
|
2012-06-18 23:49:17 +01:00
|
|
|
end
|
2015-06-05 19:08:39 +01:00
|
|
|
add_index "advisories_projects", ["advisory_id", "project_id"], name: "advisory_project_index", unique: true
|
2012-06-18 23:49:17 +01:00
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "arches", force: :cascade do |t|
|
|
|
|
t.string "name", null: false, index: {name: "index_arches_on_name", unique: true}
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2011-03-12 14:15:30 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "authentications", force: :cascade do |t|
|
|
|
|
t.integer "user_id", index: {name: "index_authentications_on_user_id"}
|
|
|
|
t.string "provider", index: {name: "index_authentications_on_provider_and_uid", with: ["uid"], unique: true}
|
2011-10-11 21:56:51 +01:00
|
|
|
t.string "uid"
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2011-10-11 21:56:51 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "build_list_items", force: :cascade do |t|
|
2014-09-24 21:44:32 +01:00
|
|
|
t.string "name"
|
|
|
|
t.integer "level"
|
|
|
|
t.integer "status"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "build_list_id", index: {name: "index_build_list_items_on_build_list_id"}
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2014-09-24 21:44:32 +01:00
|
|
|
t.string "version"
|
2011-04-11 11:47:57 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "build_list_packages", force: :cascade do |t|
|
|
|
|
t.integer "build_list_id", index: {name: "index_build_list_packages_on_build_list_id"}
|
|
|
|
t.integer "project_id", index: {name: "index_build_list_packages_on_project_id"}
|
|
|
|
t.integer "platform_id", index: {name: "index_build_list_packages_on_platform_id"}
|
2014-09-24 21:44:32 +01:00
|
|
|
t.string "fullname"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "name", index: {name: "index_build_list_packages_on_name_and_project_id", with: ["project_id"]}
|
2014-09-24 21:44:32 +01:00
|
|
|
t.string "version"
|
|
|
|
t.string "release"
|
|
|
|
t.string "package_type"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
|
|
|
t.boolean "actual", default: false, index: {name: "index_build_list_packages_on_actual_and_platform_id", with: ["platform_id"]}
|
2014-09-24 21:44:32 +01:00
|
|
|
t.string "sha1"
|
|
|
|
t.integer "epoch"
|
|
|
|
t.text "dependent_packages"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.index name: "build_list_packages_ordering", expression: "lower((name)::text), length((name)::text)"
|
2012-05-14 20:08:31 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "build_lists", force: :cascade do |t|
|
2011-04-07 14:20:21 +01:00
|
|
|
t.integer "status"
|
2011-10-22 16:28:41 +01:00
|
|
|
t.string "project_version"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "project_id", index: {name: "index_build_lists_on_project_id"}
|
|
|
|
t.integer "arch_id", index: {name: "index_build_lists_on_arch_id"}
|
2011-04-07 14:20:21 +01:00
|
|
|
t.datetime "notified_at"
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.datetime "updated_at", index: {name: "index_build_lists_on_updated_at", order: {"updated_at"=>:desc}}
|
2014-03-13 10:23:53 +00:00
|
|
|
t.boolean "is_circle", default: false
|
2011-04-11 11:47:57 +01:00
|
|
|
t.text "additional_repos"
|
|
|
|
t.string "name"
|
2011-10-22 16:28:41 +01:00
|
|
|
t.string "update_type"
|
2012-05-04 18:12:51 +01:00
|
|
|
t.integer "build_for_platform_id"
|
|
|
|
t.integer "save_to_platform_id"
|
2011-12-21 14:01:50 +00:00
|
|
|
t.text "include_repos"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "user_id", index: {name: "index_build_lists_on_user_id"}
|
2012-01-13 16:45:13 +00:00
|
|
|
t.string "package_version"
|
2012-01-16 21:51:20 +00:00
|
|
|
t.string "commit_hash"
|
2014-03-13 10:23:53 +00:00
|
|
|
t.integer "priority", default: 0, null: false
|
2012-04-12 11:29:04 +01:00
|
|
|
t.datetime "started_at"
|
|
|
|
t.integer "duration"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "advisory_id", index: {name: "index_build_lists_on_advisory_id"}
|
|
|
|
t.integer "mass_build_id", index: {name: "index_build_lists_on_mass_build_id_and_status", with: ["status"]}
|
2012-07-27 17:01:26 +01:00
|
|
|
t.integer "save_to_repository_id"
|
2012-11-27 14:22:17 +00:00
|
|
|
t.text "results"
|
2014-03-13 10:23:53 +00:00
|
|
|
t.boolean "new_core", default: true
|
2012-12-03 17:43:24 +00:00
|
|
|
t.string "last_published_commit_hash"
|
2013-01-28 14:44:06 +00:00
|
|
|
t.integer "container_status"
|
2014-03-13 10:23:53 +00:00
|
|
|
t.boolean "auto_create_container", default: false
|
2013-02-18 15:43:30 +00:00
|
|
|
t.text "extra_repositories"
|
2013-02-22 11:04:14 +00:00
|
|
|
t.text "extra_build_lists"
|
2013-03-28 11:58:26 +00:00
|
|
|
t.integer "publisher_id"
|
2013-08-29 18:46:11 +01:00
|
|
|
t.integer "group_id"
|
2013-09-20 19:21:23 +01:00
|
|
|
t.text "extra_params"
|
2013-10-17 19:00:15 +01:00
|
|
|
t.string "external_nodes"
|
|
|
|
t.integer "builder_id"
|
2013-11-07 15:49:43 +00:00
|
|
|
t.boolean "include_testing_subrepository"
|
2014-03-13 10:23:53 +00:00
|
|
|
t.string "auto_publish_status", default: "default", null: false
|
2014-05-12 10:22:50 +01:00
|
|
|
t.boolean "use_cached_chroot", default: false, null: false
|
2014-05-23 21:29:24 +01:00
|
|
|
t.boolean "use_extra_tests", default: true, null: false
|
2014-09-24 21:44:32 +01:00
|
|
|
t.boolean "save_buildroot", default: false, null: false
|
2011-04-07 14:20:21 +01:00
|
|
|
end
|
2015-06-05 19:08:39 +01:00
|
|
|
add_index "build_lists", ["project_id", "save_to_repository_id", "build_for_platform_id", "arch_id"], name: "maintainer_search_index"
|
2011-04-07 14:20:21 +01:00
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "projects", force: :cascade do |t|
|
|
|
|
t.string "name", index: {name: "index_projects_on_name_and_owner_id_and_owner_type", with: ["owner_id", "owner_type"], unique: true, case_sensitive: false}
|
2014-10-06 20:16:12 +01:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
|
|
|
t.integer "owner_id"
|
|
|
|
t.string "owner_type"
|
|
|
|
t.string "visibility", default: "open"
|
|
|
|
t.text "description"
|
|
|
|
t.string "ancestry"
|
|
|
|
t.boolean "has_issues", default: true
|
|
|
|
t.string "srpm_file_name"
|
|
|
|
t.integer "srpm_file_size"
|
|
|
|
t.datetime "srpm_updated_at"
|
|
|
|
t.string "srpm_content_type"
|
|
|
|
t.boolean "has_wiki", default: false
|
|
|
|
t.string "default_branch", default: "master"
|
|
|
|
t.boolean "is_package", default: true, null: false
|
|
|
|
t.integer "maintainer_id"
|
|
|
|
t.boolean "publish_i686_into_x86_64", default: false
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "owner_uname", null: false
|
2014-10-06 20:16:12 +01:00
|
|
|
t.boolean "architecture_dependent", default: false, null: false
|
|
|
|
t.integer "autostart_status"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "alias_from_id", index: {name: "index_projects_on_alias_from_id"}
|
2014-10-06 20:16:12 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "build_scripts", force: :cascade do |t|
|
|
|
|
t.integer "project_id", null: false, index: {name: "fk__build_scripts_project_id"}, foreign_key: {references: "projects", name: "fk_build_scripts_project_id", on_update: :no_action, on_delete: :no_action}
|
2014-05-02 21:38:28 +01:00
|
|
|
t.string "treeish", null: false
|
|
|
|
t.string "commit"
|
|
|
|
t.string "sha1"
|
|
|
|
t.string "status"
|
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
|
|
|
end
|
2015-06-05 19:08:39 +01:00
|
|
|
add_index "build_scripts", ["project_id", "treeish"], name: "index_build_scripts_on_project_id_and_treeish", unique: true
|
2014-05-02 21:38:28 +01:00
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "comments", force: :cascade do |t|
|
|
|
|
t.string "commentable_type", index: {name: "index_comments_on_commentable_type"}
|
2011-12-19 15:30:14 +00:00
|
|
|
t.integer "user_id"
|
|
|
|
t.text "body"
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.decimal "commentable_id", precision: 50, index: {name: "index_comments_on_commentable_id"}
|
2012-03-14 17:22:47 +00:00
|
|
|
t.integer "project_id"
|
2012-10-05 12:02:25 +01:00
|
|
|
t.text "data"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.boolean "automatic", default: false, index: {name: "index_comments_on_automatic"}
|
|
|
|
t.decimal "created_from_commit_hash", precision: 50, index: {name: "index_comments_on_created_from_commit_hash"}
|
|
|
|
t.integer "created_from_issue_id", index: {name: "index_comments_on_created_from_issue_id"}
|
2011-12-19 15:30:14 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "event_logs", force: :cascade do |t|
|
2011-10-14 21:45:58 +01:00
|
|
|
t.integer "user_id"
|
|
|
|
t.string "user_name"
|
2012-04-26 02:38:33 +01:00
|
|
|
t.integer "eventable_id"
|
|
|
|
t.string "eventable_type"
|
|
|
|
t.string "eventable_name"
|
2011-10-14 21:45:58 +01:00
|
|
|
t.string "ip"
|
|
|
|
t.string "kind"
|
|
|
|
t.string "protocol"
|
|
|
|
t.string "controller"
|
|
|
|
t.string "action"
|
|
|
|
t.text "message"
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2011-10-14 21:45:58 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "flash_notifies", force: :cascade do |t|
|
|
|
|
t.text "body_ru", null: false
|
|
|
|
t.text "body_en", null: false
|
|
|
|
t.string "status", null: false
|
2014-03-13 10:23:53 +00:00
|
|
|
t.boolean "published", default: true, null: false
|
2015-06-05 19:08:39 +01:00
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2014-09-24 21:44:32 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "groups", force: :cascade do |t|
|
2014-09-24 21:44:32 +01:00
|
|
|
t.integer "owner_id"
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2014-09-24 21:44:32 +01:00
|
|
|
t.string "uname"
|
|
|
|
t.integer "own_projects_count", default: 0, null: false
|
|
|
|
t.text "description"
|
|
|
|
t.string "avatar_file_name"
|
|
|
|
t.string "avatar_content_type"
|
|
|
|
t.integer "avatar_file_size"
|
|
|
|
t.datetime "avatar_updated_at"
|
2015-02-18 23:34:07 +00:00
|
|
|
t.string "default_branch"
|
2011-10-13 16:55:03 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "hooks", force: :cascade do |t|
|
2013-04-23 14:21:10 +01:00
|
|
|
t.text "data"
|
|
|
|
t.integer "project_id"
|
|
|
|
t.string "name"
|
2014-10-06 20:16:12 +01:00
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2013-04-23 14:21:10 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "issues", force: :cascade do |t|
|
2011-12-19 15:30:14 +00:00
|
|
|
t.integer "serial_id"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "project_id", index: {name: "index_issues_on_project_id_and_serial_id", with: ["serial_id"], unique: true}
|
2012-04-16 18:51:51 +01:00
|
|
|
t.integer "assignee_id"
|
2011-12-19 15:30:14 +00:00
|
|
|
t.string "title"
|
|
|
|
t.text "body"
|
2014-03-13 10:23:53 +00:00
|
|
|
t.string "status", default: "open"
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "user_id", index: {name: "index_issues_on_user_id"}
|
2012-02-29 14:04:04 +00:00
|
|
|
t.datetime "closed_at"
|
|
|
|
t.integer "closed_by"
|
2011-12-19 15:30:14 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "key_pairs", force: :cascade do |t|
|
2014-03-13 10:23:53 +00:00
|
|
|
t.text "public", null: false
|
|
|
|
t.text "encrypted_secret", null: false
|
|
|
|
t.string "key_id", null: false
|
|
|
|
t.integer "user_id", null: false
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "repository_id", null: false, index: {name: "index_key_pairs_on_repository_id", unique: true}
|
2014-10-06 20:16:12 +01:00
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2012-12-19 18:18:00 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "key_pairs_backup", force: :cascade do |t|
|
|
|
|
t.integer "repository_id", null: false, index: {name: "index_key_pairs_backup_on_repository_id", unique: true}
|
2014-03-13 10:23:53 +00:00
|
|
|
t.integer "user_id", null: false
|
|
|
|
t.string "key_id", null: false
|
|
|
|
t.text "public", null: false
|
2014-10-06 20:16:12 +01:00
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2014-09-24 21:44:32 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "labelings", force: :cascade do |t|
|
2014-09-24 21:44:32 +01:00
|
|
|
t.integer "label_id", null: false
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "issue_id", index: {name: "index_labelings_on_issue_id"}
|
2014-10-06 20:16:12 +01:00
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2012-02-29 14:04:04 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "labels", force: :cascade do |t|
|
2014-03-13 10:23:53 +00:00
|
|
|
t.string "name", null: false
|
|
|
|
t.string "color", null: false
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "project_id", index: {name: "index_labels_on_project_id"}
|
2014-10-06 20:16:12 +01:00
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2012-02-29 14:04:04 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "mass_builds", force: :cascade do |t|
|
|
|
|
t.integer "build_for_platform_id", null: false
|
2014-09-24 21:44:32 +01:00
|
|
|
t.string "name"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2014-09-24 21:44:32 +01:00
|
|
|
t.string "arch_names"
|
|
|
|
t.integer "user_id"
|
|
|
|
t.integer "build_lists_count", default: 0, null: false
|
|
|
|
t.boolean "stop_build", default: false, null: false
|
|
|
|
t.text "projects_list"
|
|
|
|
t.integer "missed_projects_count", default: 0, null: false
|
|
|
|
t.text "missed_projects_list"
|
|
|
|
t.boolean "new_core", default: true
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "save_to_platform_id", null: false
|
2014-09-24 21:44:32 +01:00
|
|
|
t.text "extra_repositories"
|
|
|
|
t.text "extra_build_lists"
|
|
|
|
t.boolean "increase_release_tag", default: false, null: false
|
|
|
|
t.boolean "use_cached_chroot", default: true, null: false
|
|
|
|
t.boolean "use_extra_tests", default: false, null: false
|
|
|
|
t.string "description"
|
|
|
|
t.string "auto_publish_status", default: "none", null: false
|
|
|
|
t.text "extra_mass_builds"
|
|
|
|
t.boolean "include_testing_subrepository", default: false, null: false
|
|
|
|
t.boolean "auto_create_container", default: false, null: false
|
|
|
|
t.integer "status", default: 2000, null: false
|
2014-10-15 20:54:15 +01:00
|
|
|
t.string "external_nodes"
|
2014-09-24 21:44:32 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "users", force: :cascade do |t|
|
2014-10-06 20:16:12 +01:00
|
|
|
t.string "name"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "email", default: "", null: false, index: {name: "index_users_on_email", unique: true}
|
2014-10-06 20:16:12 +01:00
|
|
|
t.string "encrypted_password", limit: 128, default: "", null: false
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "reset_password_token", index: {name: "index_users_on_reset_password_token", unique: true}
|
2014-10-06 20:16:12 +01:00
|
|
|
t.datetime "reset_password_sent_at"
|
|
|
|
t.datetime "remember_created_at"
|
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
|
|
|
t.text "ssh_key"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "uname", index: {name: "index_users_on_uname", unique: true}
|
2014-10-06 20:16:12 +01:00
|
|
|
t.string "role"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "language", default: "en"
|
|
|
|
t.integer "own_projects_count", default: 0, null: false
|
2014-10-06 20:16:12 +01:00
|
|
|
t.text "professional_experience"
|
|
|
|
t.string "site"
|
|
|
|
t.string "company"
|
|
|
|
t.string "location"
|
|
|
|
t.string "avatar_file_name"
|
|
|
|
t.string "avatar_content_type"
|
|
|
|
t.integer "avatar_file_size"
|
|
|
|
t.datetime "avatar_updated_at"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "failed_attempts", default: 0
|
|
|
|
t.string "unlock_token", index: {name: "index_users_on_unlock_token", unique: true}
|
2014-10-06 20:16:12 +01:00
|
|
|
t.datetime "locked_at"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "confirmation_token", index: {name: "index_users_on_confirmation_token", unique: true}
|
2014-10-06 20:16:12 +01:00
|
|
|
t.datetime "confirmed_at"
|
|
|
|
t.datetime "confirmation_sent_at"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "authentication_token", index: {name: "index_users_on_authentication_token"}
|
|
|
|
t.integer "build_priority", default: 50
|
|
|
|
t.boolean "sound_notifications", default: true
|
|
|
|
t.boolean "hide_email", default: true, null: false
|
|
|
|
end
|
|
|
|
|
|
|
|
create_table "node_instructions", force: :cascade do |t|
|
|
|
|
t.integer "user_id", null: false, index: {name: "fk__node_instructions_user_id"}, foreign_key: {references: "users", name: "fk_node_instructions_user_id", on_update: :no_action, on_delete: :no_action}
|
2014-04-14 22:32:25 +01:00
|
|
|
t.text "encrypted_instruction", null: false
|
|
|
|
t.text "output"
|
|
|
|
t.string "status"
|
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "platform_arch_settings", force: :cascade do |t|
|
|
|
|
t.integer "platform_id", null: false, index: {name: "index_platform_arch_settings_on_platform_id_and_arch_id", with: ["arch_id"], unique: true}
|
2014-03-13 10:23:53 +00:00
|
|
|
t.integer "arch_id", null: false
|
|
|
|
t.integer "time_living", null: false
|
2013-07-24 15:43:41 +01:00
|
|
|
t.boolean "default"
|
2014-10-06 20:16:12 +01:00
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2013-07-24 15:43:41 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "platforms", force: :cascade do |t|
|
2014-09-24 21:44:32 +01:00
|
|
|
t.string "description"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "name", null: false, index: {name: "index_platforms_on_name", unique: true, case_sensitive: false}
|
2014-09-24 21:44:32 +01:00
|
|
|
t.integer "parent_platform_id"
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2014-09-24 21:44:32 +01:00
|
|
|
t.boolean "released", default: false, null: false
|
|
|
|
t.integer "owner_id"
|
|
|
|
t.string "owner_type"
|
|
|
|
t.string "visibility", default: "open", null: false
|
|
|
|
t.string "platform_type", default: "main", null: false
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "distrib_type", null: false
|
2014-09-24 21:44:32 +01:00
|
|
|
t.integer "status"
|
|
|
|
t.datetime "last_regenerated_at"
|
|
|
|
t.integer "last_regenerated_status"
|
|
|
|
t.string "last_regenerated_log_sha1"
|
|
|
|
t.string "automatic_metadata_regeneration"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "default_branch", null: false
|
2011-03-09 19:27:51 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "product_build_lists", force: :cascade do |t|
|
|
|
|
t.integer "product_id", index: {name: "index_product_build_lists_on_product_id"}
|
|
|
|
t.integer "status", null: false
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2012-11-06 14:13:16 +00:00
|
|
|
t.integer "project_id"
|
|
|
|
t.string "project_version"
|
|
|
|
t.string "commit_hash"
|
2012-11-06 16:19:52 +00:00
|
|
|
t.string "params"
|
|
|
|
t.string "main_script"
|
2012-11-08 21:39:42 +00:00
|
|
|
t.text "results"
|
2012-11-13 14:01:06 +00:00
|
|
|
t.integer "arch_id"
|
2012-11-12 13:22:19 +00:00
|
|
|
t.integer "time_living"
|
2012-12-14 15:14:33 +00:00
|
|
|
t.integer "user_id"
|
2014-03-13 10:23:53 +00:00
|
|
|
t.boolean "not_delete", default: false
|
|
|
|
t.boolean "autostarted", default: false
|
2014-09-24 21:44:32 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "products", force: :cascade do |t|
|
2014-09-24 21:44:32 +01:00
|
|
|
t.string "name", null: false
|
|
|
|
t.integer "platform_id", null: false
|
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
|
|
|
t.text "description"
|
|
|
|
t.integer "project_id"
|
|
|
|
t.string "params"
|
|
|
|
t.string "main_script"
|
|
|
|
t.integer "time_living"
|
|
|
|
t.integer "autostart_status"
|
|
|
|
t.string "project_version"
|
2011-04-11 09:35:08 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "project_imports", force: :cascade do |t|
|
2012-01-27 15:35:18 +00:00
|
|
|
t.integer "project_id"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "name", index: {name: "index_project_imports_on_name_and_platform_id", with: ["platform_id"], unique: true, case_sensitive: false}
|
2012-01-27 15:35:18 +00:00
|
|
|
t.string "version"
|
|
|
|
t.datetime "file_mtime"
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2012-01-31 18:48:37 +00:00
|
|
|
t.integer "platform_id"
|
2012-01-27 15:35:18 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "project_statistics", force: :cascade do |t|
|
2014-03-13 10:23:53 +00:00
|
|
|
t.integer "average_build_time", default: 0, null: false
|
|
|
|
t.integer "build_count", default: 0, null: false
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "arch_id", null: false
|
|
|
|
t.integer "project_id", null: false, index: {name: "index_project_statistics_on_project_id_and_arch_id", with: ["arch_id"], unique: true}
|
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2013-07-31 13:20:30 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "project_tags", force: :cascade do |t|
|
2013-02-14 13:20:08 +00:00
|
|
|
t.integer "project_id"
|
|
|
|
t.string "commit_id"
|
|
|
|
t.string "sha1"
|
|
|
|
t.string "tag_name"
|
|
|
|
t.integer "format_id"
|
2014-10-06 20:16:12 +01:00
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2013-02-14 13:20:08 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "project_to_repositories", force: :cascade do |t|
|
2011-10-13 16:55:03 +01:00
|
|
|
t.integer "project_id"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.integer "repository_id", index: {name: "index_project_to_repositories_on_repository_id_and_project_id", with: ["project_id"], unique: true}
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2014-02-17 21:02:48 +00:00
|
|
|
t.hstore "autostart_options"
|
2011-10-13 16:55:03 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "pull_requests", force: :cascade do |t|
|
|
|
|
t.integer "issue_id", null: false, index: {name: "index_pull_requests_on_issue_id"}
|
|
|
|
t.integer "to_project_id", null: false, index: {name: "index_pull_requests_on_base_project_id"}
|
|
|
|
t.integer "from_project_id", null: false, index: {name: "index_pull_requests_on_head_project_id"}
|
2014-03-13 10:23:53 +00:00
|
|
|
t.string "to_ref", null: false
|
|
|
|
t.string "from_ref", null: false
|
2012-10-27 19:04:28 +01:00
|
|
|
t.string "from_project_owner_uname"
|
|
|
|
t.string "from_project_name"
|
2012-04-28 18:28:57 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "register_requests", force: :cascade do |t|
|
2012-02-09 17:46:23 +00:00
|
|
|
t.string "name"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "email", index: {name: "index_register_requests_on_email", unique: true, case_sensitive: false}
|
|
|
|
t.string "token", index: {name: "index_register_requests_on_token", unique: true, case_sensitive: false}
|
2014-03-13 10:23:53 +00:00
|
|
|
t.boolean "approved", default: false
|
|
|
|
t.boolean "rejected", default: false
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2012-02-10 16:33:16 +00:00
|
|
|
t.string "interest"
|
|
|
|
t.text "more"
|
2012-09-10 12:08:53 +01:00
|
|
|
t.string "language"
|
2012-02-09 17:46:23 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "relations", force: :cascade do |t|
|
2012-04-26 02:38:33 +01:00
|
|
|
t.integer "actor_id"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "actor_type", index: {name: "index_relations_on_actor_type_and_actor_id", with: ["actor_id"]}
|
2011-10-13 16:55:03 +01:00
|
|
|
t.integer "target_id"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "target_type", index: {name: "index_relations_on_target_type_and_target_id", with: ["target_id"]}
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2011-11-16 18:45:01 +00:00
|
|
|
t.string "role"
|
2011-03-11 16:08:41 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "repositories", force: :cascade do |t|
|
|
|
|
t.string "description", null: false
|
|
|
|
t.integer "platform_id", null: false, index: {name: "index_repositories_on_platform_id"}
|
2014-09-24 21:44:32 +01:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "name", null: false
|
2014-09-24 21:44:32 +01:00
|
|
|
t.boolean "publish_without_qa", default: true
|
|
|
|
t.boolean "synchronizing_publications", default: false, null: false
|
|
|
|
t.string "publish_builds_only_from_branch"
|
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "repository_statuses", force: :cascade do |t|
|
|
|
|
t.integer "repository_id", null: false, index: {name: "index_repository_statuses_on_repository_id_and_platform_id", with: ["platform_id"], unique: true}
|
|
|
|
t.integer "platform_id", null: false
|
2014-03-13 10:23:53 +00:00
|
|
|
t.integer "status", default: 0
|
2013-08-22 22:02:24 +01:00
|
|
|
t.datetime "last_regenerated_at"
|
|
|
|
t.integer "last_regenerated_status"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2013-08-27 16:43:30 +01:00
|
|
|
t.string "last_regenerated_log_sha1"
|
2013-08-22 22:02:24 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "settings_notifiers", force: :cascade do |t|
|
|
|
|
t.integer "user_id", null: false
|
2014-03-13 10:23:53 +00:00
|
|
|
t.boolean "can_notify", default: true
|
|
|
|
t.boolean "new_comment", default: true
|
|
|
|
t.boolean "new_comment_reply", default: true
|
|
|
|
t.boolean "new_issue", default: true
|
|
|
|
t.boolean "issue_assign", default: true
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2014-03-13 10:23:53 +00:00
|
|
|
t.boolean "new_comment_commit_owner", default: true
|
|
|
|
t.boolean "new_comment_commit_repo_owner", default: true
|
|
|
|
t.boolean "new_comment_commit_commentor", default: true
|
|
|
|
t.boolean "new_build", default: true
|
|
|
|
t.boolean "new_associated_build", default: true
|
|
|
|
t.boolean "update_code", default: false
|
2012-01-11 13:58:13 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "ssh_keys", force: :cascade do |t|
|
2013-03-01 17:35:33 +00:00
|
|
|
t.string "name"
|
2014-03-13 10:23:53 +00:00
|
|
|
t.text "key", null: false
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "fingerprint", null: false, index: {name: "index_ssh_keys_on_fingerprint", unique: true}
|
|
|
|
t.integer "user_id", null: false, index: {name: "index_ssh_keys_on_user_id"}
|
2014-10-06 20:16:12 +01:00
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2013-02-28 17:02:14 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "statistics", force: :cascade do |t|
|
|
|
|
t.integer "user_id", null: false, index: {name: "index_statistics_on_user_id"}
|
|
|
|
t.string "email", null: false
|
|
|
|
t.integer "project_id", null: false, index: {name: "index_statistics_on_project_id"}
|
|
|
|
t.string "project_name_with_owner", null: false
|
|
|
|
t.string "key", null: false, index: {name: "index_statistics_on_key"}
|
2014-10-06 20:16:12 +01:00
|
|
|
t.integer "counter", default: 0, null: false
|
2015-06-05 19:08:39 +01:00
|
|
|
t.datetime "activity_at", null: false, index: {name: "index_statistics_on_activity_at"}
|
2014-10-06 20:16:12 +01:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
|
|
|
end
|
2015-06-05 19:08:39 +01:00
|
|
|
add_index "statistics", ["key", "activity_at"], name: "index_statistics_on_key_and_activity_at"
|
|
|
|
add_index "statistics", ["project_id", "key", "activity_at"], name: "index_statistics_on_project_id_and_key_and_activity_at"
|
|
|
|
add_index "statistics", ["user_id", "key", "activity_at"], name: "index_statistics_on_user_id_and_key_and_activity_at"
|
|
|
|
add_index "statistics", ["user_id", "project_id", "key", "activity_at"], name: "index_statistics_on_all_keys", unique: true
|
2014-10-06 20:16:12 +01:00
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "subscribes", force: :cascade do |t|
|
2011-12-26 15:48:57 +00:00
|
|
|
t.string "subscribeable_type"
|
|
|
|
t.integer "user_id"
|
2013-03-22 14:06:13 +00:00
|
|
|
t.datetime "created_at"
|
|
|
|
t.datetime "updated_at"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.boolean "status", default: true
|
2012-02-02 21:30:08 +00:00
|
|
|
t.integer "project_id"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.decimal "subscribeable_id", precision: 50
|
2011-12-26 15:48:57 +00:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "tokens", force: :cascade do |t|
|
|
|
|
t.integer "subject_id", null: false, index: {name: "index_tokens_on_subject_id_and_subject_type", with: ["subject_type"]}
|
|
|
|
t.string "subject_type", null: false
|
|
|
|
t.integer "creator_id", null: false
|
2013-06-25 08:00:20 +01:00
|
|
|
t.integer "updater_id"
|
2014-03-13 10:23:53 +00:00
|
|
|
t.string "status", default: "active"
|
2013-06-25 08:00:20 +01:00
|
|
|
t.text "description"
|
2015-06-05 19:08:39 +01:00
|
|
|
t.string "authentication_token", null: false, index: {name: "index_tokens_on_authentication_token", unique: true}
|
|
|
|
t.datetime "created_at", null: false
|
|
|
|
t.datetime "updated_at", null: false
|
2013-06-25 08:00:20 +01:00
|
|
|
end
|
|
|
|
|
2015-06-05 19:08:39 +01:00
|
|
|
create_table "user_builds_settings", force: :cascade do |t|
|
|
|
|
t.integer "user_id", null: false, index: {name: "index_user_builds_settings_on_user_id", unique: true}
|
2015-02-10 22:35:12 +00:00
|
|
|
t.text "platforms", default: [], null: false, array: true
|
2015-02-10 22:08:39 +00:00
|
|
|
t.string "external_nodes"
|
|
|
|
end
|
|
|
|
|
2011-03-09 13:13:36 +00:00
|
|
|
end
|