diff --git a/app/controllers/projects/build_lists_controller.rb b/app/controllers/projects/build_lists_controller.rb index 433e20732..a58ceae86 100644 --- a/app/controllers/projects/build_lists_controller.rb +++ b/app/controllers/projects/build_lists_controller.rb @@ -229,7 +229,7 @@ class Projects::BuildListsController < Projects::BaseController :save_to_repository_id, :auto_publish_status, :include_repos, :extra_params, :project_version, :update_type, :auto_create_container, :extra_repositories, :extra_build_lists, :build_for_platform_id, - :use_cached_chroot, :use_extra_tests + :use_cached_chroot, :use_extra_tests, :save_buildroot ] keys.each { |key| params[:build_list][key] = build_list.send(key) } params[:arches] = [build_list.arch_id.to_s] diff --git a/app/models/build_list.rb b/app/models/build_list.rb index 0ccf4389a..26bd7adb8 100644 --- a/app/models/build_list.rb +++ b/app/models/build_list.rb @@ -79,7 +79,7 @@ class BuildList < ActiveRecord::Base :save_to_platform_id, :project_version, :auto_create_container, :extra_repositories, :extra_build_lists, :extra_params, :external_nodes, :include_testing_subrepository, :auto_publish_status, - :use_cached_chroot, :use_extra_tests + :use_cached_chroot, :use_extra_tests, :save_buildroot LIVE_TIME = 4.week # for unpublished MAX_LIVE_TIME = 3.month # for published @@ -553,6 +553,7 @@ class BuildList < ActiveRecord::Base 'GIT_PROJECT_ADDRESS' => git_project_address, 'COMMIT_HASH' => commit_hash, 'USE_EXTRA_TESTS' => use_extra_tests?, + 'SAVE_BUILDROOT' => save_buildroot?, 'EXTRA_CFG_OPTIONS' => extra_params['cfg_options'], 'EXTRA_CFG_URPM_OPTIONS' => extra_params['cfg_urpm_options'], 'EXTRA_BUILD_SRC_RPM_OPTIONS' => extra_params['build_src_rpm'], diff --git a/app/views/projects/build_lists/_new_form.html.haml b/app/views/projects/build_lists/_new_form.html.haml index a185f3cb5..e9597eb11 100644 --- a/app/views/projects/build_lists/_new_form.html.haml +++ b/app/views/projects/build_lists/_new_form.html.haml @@ -47,7 +47,7 @@ - selected = params[:build_list].try(:[], :auto_publish_status) ? {selected: params[:build_list][:auto_publish_status]} : {} = f.select :auto_publish_status, auto_publish_statuses, selected = f.label :auto_publish_status - - %i(auto_create_container include_testing_subrepository use_cached_chroot use_extra_tests).each do |kind| + - %i(auto_create_container include_testing_subrepository use_cached_chroot use_extra_tests save_buildroot).each do |kind| .both - checked = params[:build_list].try(:[], kind) - checked = @build_list.send(kind) if checked.nil? diff --git a/app/views/projects/build_lists/show.html.haml b/app/views/projects/build_lists/show.html.haml index b7949aff1..7415be631 100644 --- a/app/views/projects/build_lists/show.html.haml +++ b/app/views/projects/build_lists/show.html.haml @@ -69,6 +69,9 @@ .leftlist= t("activerecord.attributes.build_list.use_extra_tests") .rightlist= t("layout.#{@build_list.use_extra_tests?}_") .both + .leftlist= t("activerecord.attributes.build_list.save_buildroot") + .rightlist= t("layout.#{@build_list.save_buildroot?}_") + .both .leftlist= t("activerecord.attributes.build_list.project_version") .rightlist= link_to @build_list.project_version, tree_path(@build_list.project, @build_list.project_version) .both diff --git a/config/locales/models/build_list.en.yml b/config/locales/models/build_list.en.yml index ae2615fd5..c578ab4af 100644 --- a/config/locales/models/build_list.en.yml +++ b/config/locales/models/build_list.en.yml @@ -13,6 +13,7 @@ en: auto_create_container: Create container automatically use_cached_chroot: Use cached chroot use_extra_tests: Use extra tests + save_buildroot: Save RPM build root container_path: Container path status: Status project_id: Project diff --git a/config/locales/models/build_list.ru.yml b/config/locales/models/build_list.ru.yml index 49a50b745..19becba9c 100644 --- a/config/locales/models/build_list.ru.yml +++ b/config/locales/models/build_list.ru.yml @@ -13,6 +13,7 @@ ru: auto_create_container: Создать контейнер автоматически use_cached_chroot: Использовать кэшированный chroot use_extra_tests: Использовать дополнительные тесты + save_buildroot: Сохранить RPM build root container_path: Путь до контейнера status: Статус project_id: Проект diff --git a/db/migrate/20140924203530_add_save_buildroot_to_build_lists.rb b/db/migrate/20140924203530_add_save_buildroot_to_build_lists.rb new file mode 100644 index 000000000..fe911c1be --- /dev/null +++ b/db/migrate/20140924203530_add_save_buildroot_to_build_lists.rb @@ -0,0 +1,5 @@ +class AddSaveBuildrootToBuildLists < ActiveRecord::Migration + def change + add_column :build_lists, :save_buildroot, :boolean, default: false, null: false + end +end diff --git a/db/schema.rb b/db/schema.rb index 1ba55e942..6d647d284 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,52 +11,12 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20140709194335) do +ActiveRecord::Schema.define(version: 20140924203530) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" enable_extension "hstore" - create_table "users", force: true do |t| - t.string "name" - t.string "email", default: "", null: false - t.string "encrypted_password", default: "", null: false - t.string "reset_password_token" - t.datetime "reset_password_sent_at" - t.datetime "remember_created_at" - t.datetime "created_at" - t.datetime "updated_at" - t.text "ssh_key" - t.string "uname" - t.string "role" - t.string "language", default: "en" - t.integer "own_projects_count", default: 0, null: false - t.string "confirmation_token" - t.datetime "confirmed_at" - t.datetime "confirmation_sent_at" - 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" - t.integer "failed_attempts", default: 0 - t.string "unlock_token" - t.datetime "locked_at" - t.string "authentication_token" - t.integer "build_priority", default: 50 - t.boolean "sound_notifications", default: true - t.boolean "hide_email", default: true, null: false - t.index ["authentication_token"], :name => "index_users_on_authentication_token" - t.index ["confirmation_token"], :name => "index_users_on_confirmation_token", :unique => true - t.index ["email"], :name => "index_users_on_email", :unique => true - t.index ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true - t.index ["uname"], :name => "index_users_on_uname", :unique => true - t.index ["unlock_token"], :name => "index_users_on_unlock_token", :unique => true - end - create_table "activity_feeds", force: true do |t| t.integer "user_id", null: false t.string "kind" @@ -64,8 +24,6 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.datetime "created_at" t.datetime "updated_at" t.index ["user_id", "kind"], :name => "index_activity_feeds_on_user_id_and_kind" - t.index ["user_id"], :name => "fk__activity_feeds_user_id" - t.foreign_key ["user_id"], "users", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_activity_feeds_user_id" end create_table "advisories", force: true do |t| @@ -73,79 +31,26 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.text "description", default: "" t.text "references", default: "" t.text "update_type", default: "" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.index ["advisory_id"], :name => "index_advisories_on_advisory_id", :unique => true t.index ["update_type"], :name => "index_advisories_on_update_type" end - create_table "platforms", force: true do |t| - t.string "description" - t.string "name", null: false - t.integer "parent_platform_id" - t.datetime "created_at" - t.datetime "updated_at" - 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 - t.string "distrib_type" - t.integer "status" - t.datetime "last_regenerated_at" - t.integer "last_regenerated_status" - t.string "last_regenerated_log_sha1" - t.string "automatic_metadata_regeneration" - t.index ["name"], :name => "index_platforms_on_name", :unique => true, :case_sensitive => false - end - create_table "advisories_platforms", id: false, force: true do |t| t.integer "advisory_id" t.integer "platform_id" t.index ["advisory_id", "platform_id"], :name => "advisory_platform_index", :unique => true - t.index ["advisory_id"], :name => "fk__advisories_platforms_advisory_id" t.index ["advisory_id"], :name => "index_advisories_platforms_on_advisory_id" - t.index ["platform_id"], :name => "fk__advisories_platforms_platform_id" t.index ["platform_id"], :name => "index_advisories_platforms_on_platform_id" - t.foreign_key ["advisory_id"], "advisories", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_advisories_platforms_advisory_id" - t.foreign_key ["platform_id"], "platforms", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_advisories_platforms_platform_id" - end - - create_table "projects", force: true do |t| - t.string "name" - 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.boolean "has_wiki", default: false - t.string "srpm_file_name" - t.string "srpm_content_type" - t.integer "srpm_file_size" - t.datetime "srpm_updated_at" - 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 - t.string "owner_uname", null: false - t.boolean "architecture_dependent", default: false, null: false - t.integer "autostart_status" - t.index ["name", "owner_id", "owner_type"], :name => "index_projects_on_name_and_owner_id_and_owner_type", :unique => true, :case_sensitive => false end create_table "advisories_projects", id: false, force: true do |t| t.integer "advisory_id" t.integer "project_id" t.index ["advisory_id", "project_id"], :name => "advisory_project_index", :unique => true - t.index ["advisory_id"], :name => "fk__advisories_projects_advisory_id" t.index ["advisory_id"], :name => "index_advisories_projects_on_advisory_id" - t.index ["project_id"], :name => "fk__advisories_projects_project_id" t.index ["project_id"], :name => "index_advisories_projects_on_project_id" - t.foreign_key ["advisory_id"], "advisories", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_advisories_projects_advisory_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_advisories_projects_project_id" end create_table "arches", force: true do |t| @@ -162,53 +67,40 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.datetime "created_at" t.datetime "updated_at" t.index ["provider", "uid"], :name => "index_authentications_on_provider_and_uid", :unique => true - t.index ["user_id"], :name => "fk__authentications_user_id" t.index ["user_id"], :name => "index_authentications_on_user_id" - t.foreign_key ["user_id"], "users", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_authentications_user_id" end - create_table "groups", force: true do |t| - t.integer "owner_id" - t.datetime "created_at" - t.datetime "updated_at" - 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" - end - - create_table "mass_builds", force: true do |t| - t.integer "build_for_platform_id", null: false + create_table "build_list_items", force: true do |t| t.string "name" + t.integer "level" + t.integer "status" + t.integer "build_list_id" t.datetime "created_at" t.datetime "updated_at" - 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 - t.integer "save_to_platform_id", null: false - 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 - t.index ["build_for_platform_id"], :name => "fk__mass_builds_platform_id" - t.index ["user_id"], :name => "fk__mass_builds_user_id" - t.foreign_key ["build_for_platform_id"], "platforms", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_mass_builds_platform_id" - t.foreign_key ["user_id"], "users", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_mass_builds_user_id" + t.string "version" + t.index ["build_list_id"], :name => "index_build_list_items_on_build_list_id" + end + + create_table "build_list_packages", force: true do |t| + t.integer "build_list_id" + t.integer "project_id" + t.integer "platform_id" + t.string "fullname" + t.string "name" + t.string "version" + t.string "release" + t.string "package_type" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.boolean "actual", default: false + t.string "sha1" + t.integer "epoch" + t.text "dependent_packages" + t.index ["actual", "platform_id"], :name => "index_build_list_packages_on_actual_and_platform_id" + t.index ["build_list_id"], :name => "index_build_list_packages_on_build_list_id" + t.index ["name", "project_id"], :name => "index_build_list_packages_on_name_and_project_id" + t.index ["platform_id"], :name => "index_build_list_packages_on_platform_id" + t.index ["project_id"], :name => "index_build_list_packages_on_project_id" end create_table "build_lists", force: true do |t| @@ -251,64 +143,37 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.string "auto_publish_status", default: "default", null: false t.boolean "use_cached_chroot", default: false, null: false t.boolean "use_extra_tests", default: true, null: false - t.index ["advisory_id"], :name => "fk__build_lists_advisory_id" + t.boolean "save_buildroot", default: false, null: false t.index ["advisory_id"], :name => "index_build_lists_on_advisory_id" - t.index ["arch_id"], :name => "fk__build_lists_arch_id" t.index ["arch_id"], :name => "index_build_lists_on_arch_id" - t.index ["group_id"], :name => "fk__build_lists_group_id" t.index ["mass_build_id", "status"], :name => "index_build_lists_on_mass_build_id_and_status" - t.index ["mass_build_id"], :name => "fk__build_lists_mass_build_id" t.index ["project_id", "save_to_repository_id", "build_for_platform_id", "arch_id"], :name => "maintainer_search_index" - t.index ["project_id"], :name => "fk__build_lists_project_id" t.index ["project_id"], :name => "index_build_lists_on_project_id" - t.index ["user_id"], :name => "fk__build_lists_user_id" - t.foreign_key ["advisory_id"], "advisories", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_build_lists_advisory_id" - t.foreign_key ["arch_id"], "arches", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_build_lists_arch_id" - t.foreign_key ["group_id"], "groups", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_build_lists_group_id" - t.foreign_key ["mass_build_id"], "mass_builds", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_build_lists_mass_build_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_build_lists_project_id" - t.foreign_key ["user_id"], "users", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_build_lists_user_id" end - create_table "build_list_items", force: true do |t| + create_table "projects", force: true do |t| t.string "name" - t.integer "level" - t.integer "status" - t.integer "build_list_id" t.datetime "created_at" t.datetime "updated_at" - t.string "version" - t.index ["build_list_id"], :name => "fk__build_list_items_build_list_id" - t.index ["build_list_id"], :name => "index_build_list_items_on_build_list_id" - t.foreign_key ["build_list_id"], "build_lists", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_build_list_items_build_list_id" - end - - create_table "build_list_packages", force: true do |t| - t.integer "build_list_id" - t.integer "project_id" - t.integer "platform_id" - t.string "fullname" - t.string "name" - t.string "version" - t.string "release" - t.string "package_type" - t.datetime "created_at" - t.datetime "updated_at" - t.boolean "actual", default: false - t.string "sha1" - t.integer "epoch" - t.text "dependent_packages" - t.index ["actual", "platform_id"], :name => "index_build_list_packages_on_actual_and_platform_id" - t.index ["build_list_id"], :name => "fk__build_list_packages_build_list_id" - t.index ["build_list_id"], :name => "index_build_list_packages_on_build_list_id" - t.index ["name", "project_id"], :name => "index_build_list_packages_on_name_and_project_id" - t.index ["platform_id"], :name => "fk__build_list_packages_platform_id" - t.index ["platform_id"], :name => "index_build_list_packages_on_platform_id" - t.index ["project_id"], :name => "fk__build_list_packages_project_id" - t.index ["project_id"], :name => "index_build_list_packages_on_project_id" - t.foreign_key ["build_list_id"], "build_lists", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_build_list_packages_build_list_id" - t.foreign_key ["platform_id"], "platforms", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_build_list_packages_platform_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_build_list_packages_project_id" + 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 + t.string "owner_uname", null: false + t.boolean "architecture_dependent", default: false, null: false + t.integer "autostart_status" + t.index ["name", "owner_id", "owner_type"], :name => "index_projects_on_name_and_owner_id_and_owner_type", :unique => true, :case_sensitive => false end create_table "build_scripts", force: true do |t| @@ -341,10 +206,6 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.index ["commentable_type"], :name => "index_comments_on_commentable_type" t.index ["created_from_commit_hash"], :name => "index_comments_on_created_from_commit_hash" t.index ["created_from_issue_id"], :name => "index_comments_on_created_from_issue_id" - t.index ["project_id"], :name => "fk__comments_project_id" - t.index ["user_id"], :name => "fk__comments_user_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_comments_project_id" - t.foreign_key ["user_id"], "users", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_comments_user_id" end create_table "event_logs", force: true do |t| @@ -361,8 +222,6 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.text "message" t.datetime "created_at" t.datetime "updated_at" - t.index ["eventable_id", "eventable_type"], :name => "index_event_logs_on_eventable_id_and_eventable_type" - t.index ["user_id"], :name => "index_event_logs_on_user_id" end create_table "flash_notifies", force: true do |t| @@ -370,18 +229,29 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.text "body_en", null: false t.string "status", null: false t.boolean "published", default: true, null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + + create_table "groups", force: true do |t| + t.integer "owner_id" t.datetime "created_at" t.datetime "updated_at" + 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" end create_table "hooks", force: true do |t| t.text "data" t.integer "project_id" t.string "name" - t.datetime "created_at" - t.datetime "updated_at" - t.index ["project_id"], :name => "fk__hooks_project_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_hooks_project_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end create_table "issues", force: true do |t| @@ -396,26 +266,8 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.integer "user_id" t.datetime "closed_at" t.integer "closed_by" - t.index ["assignee_id"], :name => "fk__issues_user_id" t.index ["project_id", "serial_id"], :name => "index_issues_on_project_id_and_serial_id", :unique => true - t.index ["project_id"], :name => "fk__issues_project_id" t.index ["user_id"], :name => "index_issues_on_user_id" - t.foreign_key ["assignee_id"], "users", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_issues_user_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_issues_project_id" - end - - create_table "repositories", force: true do |t| - t.string "description", null: false - t.integer "platform_id", null: false - t.datetime "created_at" - t.datetime "updated_at" - t.string "name", null: false - t.boolean "publish_without_qa", default: true - t.boolean "synchronizing_publications", default: false, null: false - t.string "publish_builds_only_from_branch" - t.index ["platform_id"], :name => "fk__repositories_platform_id" - t.index ["platform_id"], :name => "index_repositories_on_platform_id" - t.foreign_key ["platform_id"], "platforms", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_repositories_platform_id" end create_table "key_pairs", force: true do |t| @@ -424,13 +276,9 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.string "key_id", null: false t.integer "user_id", null: false t.integer "repository_id", null: false - t.datetime "created_at" - t.datetime "updated_at" - t.index ["repository_id"], :name => "fk__key_pairs_repository_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.index ["repository_id"], :name => "index_key_pairs_on_repository_id", :unique => true - t.index ["user_id"], :name => "fk__key_pairs_user_id" - t.foreign_key ["repository_id"], "repositories", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_key_pairs_repository_id" - t.foreign_key ["user_id"], "users", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_key_pairs_user_id" end create_table "key_pairs_backup", force: true do |t| @@ -438,36 +286,93 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.integer "user_id", null: false t.string "key_id", null: false t.text "public", null: false - t.datetime "created_at" - t.datetime "updated_at" - t.index ["repository_id"], :name => "fk__key_pairs_backup_repository_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.index ["repository_id"], :name => "index_key_pairs_backup_on_repository_id", :unique => true - t.index ["user_id"], :name => "fk__key_pairs_backup_user_id" - t.foreign_key ["repository_id"], "repositories", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_key_pairs_backup_repository_id" - t.foreign_key ["user_id"], "users", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_key_pairs_backup_user_id" + end + + create_table "labelings", force: true do |t| + t.integer "label_id", null: false + t.integer "issue_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["issue_id"], :name => "index_labelings_on_issue_id" end create_table "labels", force: true do |t| t.string "name", null: false t.string "color", null: false t.integer "project_id" - t.datetime "created_at" - t.datetime "updated_at" - t.index ["project_id"], :name => "fk__labels_project_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.index ["project_id"], :name => "index_labels_on_project_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_labels_project_id" end - create_table "labelings", force: true do |t| - t.integer "label_id", null: false - t.integer "issue_id" + create_table "mass_builds", force: true do |t| + t.integer "build_for_platform_id", null: false + t.string "name" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + 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 + t.integer "save_to_platform_id", null: false + 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 + end + + create_table "users", force: true do |t| + t.string "name" + t.string "email", default: "", null: false + t.string "encrypted_password", limit: 128, default: "", null: false + t.string "reset_password_token" + t.datetime "reset_password_sent_at" + t.datetime "remember_created_at" t.datetime "created_at" t.datetime "updated_at" - t.index ["issue_id"], :name => "fk__labelings_issue_id" - t.index ["issue_id"], :name => "index_labelings_on_issue_id" - t.index ["label_id"], :name => "fk__labelings_label_id" - t.foreign_key ["issue_id"], "issues", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_labelings_issue_id" - t.foreign_key ["label_id"], "labels", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_labelings_label_id" + t.text "ssh_key" + t.string "uname" + t.string "role" + t.string "language", default: "en" + t.integer "own_projects_count", default: 0, null: false + 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" + t.integer "failed_attempts", default: 0 + t.string "unlock_token" + t.datetime "locked_at" + t.string "confirmation_token" + t.datetime "confirmed_at" + t.datetime "confirmation_sent_at" + t.string "authentication_token" + t.integer "build_priority", default: 50 + t.boolean "sound_notifications", default: true + t.boolean "hide_email", default: true, null: false + t.index ["authentication_token"], :name => "index_users_on_authentication_token" + t.index ["confirmation_token"], :name => "index_users_on_confirmation_token", :unique => true + t.index ["email"], :name => "index_users_on_email", :unique => true + t.index ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true + t.index ["uname"], :name => "index_users_on_uname", :unique => true + t.index ["unlock_token"], :name => "index_users_on_unlock_token", :unique => true end create_table "node_instructions", force: true do |t| @@ -486,31 +391,29 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.integer "arch_id", null: false t.integer "time_living", null: false t.boolean "default" - t.datetime "created_at" - t.datetime "updated_at" - t.index ["arch_id"], :name => "fk__platform_arch_settings_arch_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.index ["platform_id", "arch_id"], :name => "index_platform_arch_settings_on_platform_id_and_arch_id", :unique => true - t.index ["platform_id"], :name => "fk__platform_arch_settings_platform_id" - t.foreign_key ["arch_id"], "arches", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_platform_arch_settings_arch_id" - t.foreign_key ["platform_id"], "platforms", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_platform_arch_settings_platform_id" end - create_table "products", force: true do |t| - t.string "name", null: false - t.integer "platform_id", null: false + create_table "platforms", force: true do |t| + t.string "description" + t.string "name", null: false + t.integer "parent_platform_id" 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" - t.index ["platform_id"], :name => "fk__products_platform_id" - t.index ["project_id"], :name => "fk__products_project_id" - t.foreign_key ["platform_id"], "platforms", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_products_platform_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_products_project_id" + 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 + t.string "distrib_type", null: false + t.integer "status" + t.datetime "last_regenerated_at" + t.integer "last_regenerated_status" + t.string "last_regenerated_log_sha1" + t.string "automatic_metadata_regeneration" + t.index ["name"], :name => "index_platforms_on_name", :unique => true, :case_sensitive => false end create_table "product_build_lists", force: true do |t| @@ -529,15 +432,21 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.integer "user_id" t.boolean "not_delete", default: false t.boolean "autostarted", default: false - t.index ["arch_id"], :name => "fk__product_build_lists_arch_id" - t.index ["product_id"], :name => "fk__product_build_lists_product_id" t.index ["product_id"], :name => "index_product_build_lists_on_product_id" - t.index ["project_id"], :name => "fk__product_build_lists_project_id" - t.index ["user_id"], :name => "fk__product_build_lists_user_id" - t.foreign_key ["arch_id"], "arches", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_product_build_lists_arch_id" - t.foreign_key ["product_id"], "products", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_product_build_lists_product_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_product_build_lists_project_id" - t.foreign_key ["user_id"], "users", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_product_build_lists_user_id" + end + + create_table "products", force: true do |t| + 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" end create_table "project_imports", force: true do |t| @@ -549,10 +458,6 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.datetime "updated_at" t.integer "platform_id" t.index ["name", "platform_id"], :name => "index_project_imports_on_name_and_platform_id", :unique => true, :case_sensitive => false - t.index ["platform_id"], :name => "fk__project_imports_platform_id" - t.index ["project_id"], :name => "fk__project_imports_project_id" - t.foreign_key ["platform_id"], "platforms", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_project_imports_platform_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_project_imports_project_id" end create_table "project_statistics", force: true do |t| @@ -560,13 +465,9 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.integer "build_count", default: 0, null: false t.integer "arch_id", null: false t.integer "project_id", null: false - t.datetime "created_at" - t.datetime "updated_at" - t.index ["arch_id"], :name => "fk__project_statistics_arch_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.index ["project_id", "arch_id"], :name => "index_project_statistics_on_project_id_and_arch_id", :unique => true - t.index ["project_id"], :name => "fk__project_statistics_project_id" - t.foreign_key ["arch_id"], "arches", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_project_statistics_arch_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_project_statistics_project_id" end create_table "project_tags", force: true do |t| @@ -575,10 +476,8 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.string "sha1" t.string "tag_name" t.integer "format_id" - t.datetime "created_at" - t.datetime "updated_at" - t.index ["project_id"], :name => "fk__project_tags_project_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_project_tags_project_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end create_table "project_to_repositories", force: true do |t| @@ -587,11 +486,7 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.datetime "created_at" t.datetime "updated_at" t.hstore "autostart_options" - t.index ["project_id"], :name => "fk__project_to_repositories_project_id" t.index ["repository_id", "project_id"], :name => "index_project_to_repositories_on_repository_id_and_project_id", :unique => true - t.index ["repository_id"], :name => "fk__project_to_repositories_repository_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_project_to_repositories_project_id" - t.foreign_key ["repository_id"], "repositories", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_project_to_repositories_repository_id" end create_table "pull_requests", force: true do |t| @@ -602,11 +497,9 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.string "from_ref", null: false t.string "from_project_owner_uname" t.string "from_project_name" - t.index ["from_project_id"], :name => "index_pull_requests_on_from_project_id" - t.index ["issue_id"], :name => "fk__pull_requests_issue_id" + t.index ["from_project_id"], :name => "index_pull_requests_on_head_project_id" t.index ["issue_id"], :name => "index_pull_requests_on_issue_id" - t.index ["to_project_id"], :name => "index_pull_requests_on_to_project_id" - t.foreign_key ["issue_id"], "issues", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_pull_requests_issue_id" + t.index ["to_project_id"], :name => "index_pull_requests_on_base_project_id" end create_table "register_requests", force: true do |t| @@ -636,20 +529,28 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.index ["target_type", "target_id"], :name => "index_relations_on_target_type_and_target_id" end + create_table "repositories", force: true do |t| + t.string "description", null: false + t.integer "platform_id", null: false + t.datetime "created_at" + t.datetime "updated_at" + t.string "name", null: false + t.boolean "publish_without_qa", default: true + t.boolean "synchronizing_publications", default: false, null: false + t.string "publish_builds_only_from_branch" + t.index ["platform_id"], :name => "index_repositories_on_platform_id" + end + create_table "repository_statuses", force: true do |t| t.integer "repository_id", null: false t.integer "platform_id", null: false t.integer "status", default: 0 t.datetime "last_regenerated_at" t.integer "last_regenerated_status" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.string "last_regenerated_log_sha1" - t.index ["platform_id"], :name => "fk__repository_statuses_platform_id" t.index ["repository_id", "platform_id"], :name => "index_repository_statuses_on_repository_id_and_platform_id", :unique => true - t.index ["repository_id"], :name => "fk__repository_statuses_repository_id" - t.foreign_key ["platform_id"], "platforms", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_repository_statuses_platform_id" - t.foreign_key ["repository_id"], "repositories", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_repository_statuses_repository_id" end create_table "settings_notifiers", force: true do |t| @@ -667,8 +568,6 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.boolean "new_build", default: true t.boolean "new_associated_build", default: true t.boolean "update_code", default: false - t.index ["user_id"], :name => "fk__settings_notifiers_user_id" - t.foreign_key ["user_id"], "users", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_settings_notifiers_user_id" end create_table "ssh_keys", force: true do |t| @@ -676,12 +575,10 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.text "key", null: false t.string "fingerprint", null: false t.integer "user_id", null: false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.index ["fingerprint"], :name => "index_ssh_keys_on_fingerprint", :unique => true - t.index ["user_id"], :name => "fk__ssh_keys_user_id" t.index ["user_id"], :name => "index_ssh_keys_on_user_id" - t.foreign_key ["user_id"], "users", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_ssh_keys_user_id" end create_table "subscribes", force: true do |t| @@ -692,10 +589,6 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.boolean "status", default: true t.integer "project_id" t.decimal "subscribeable_id", precision: 50, scale: 0 - t.index ["project_id"], :name => "fk__subscribes_project_id" - t.index ["user_id"], :name => "fk__subscribes_user_id" - t.foreign_key ["project_id"], "projects", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_subscribes_project_id" - t.foreign_key ["user_id"], "users", ["id"], :on_update => :no_action, :on_delete => :no_action, :name => "fk_subscribes_user_id" end create_table "tokens", force: true do |t| @@ -706,8 +599,8 @@ ActiveRecord::Schema.define(version: 20140709194335) do t.string "status", default: "active" t.text "description" t.string "authentication_token", null: false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.index ["authentication_token"], :name => "index_tokens_on_authentication_token", :unique => true t.index ["subject_id", "subject_type"], :name => "index_tokens_on_subject_id_and_subject_type" end