diff --git a/Gemfile.lock b/Gemfile.lock index c2837f9..edee9b8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -17,6 +17,14 @@ sass-rails sprockets (< 4.1) +GIT + remote: https://github.com/vyruss/yaml_db.git + revision: 00b304aeb0243b0ad1d96519564e7650c9760f21 + specs: + yaml_db (0.4.2) + rails (>= 3.0, < 5.1) + rake (>= 0.8.7) + GEM remote: https://rubygems.org/ specs: @@ -314,9 +322,6 @@ wkhtmltopdf-binary (0.12.3) xpath (2.0.0) nokogiri (~> 1.3) - yaml_db (0.4.2) - rails (>= 3.0, < 5.1) - rake (>= 0.8.7) yard (0.9.5) PLATFORMS @@ -368,7 +373,7 @@ web-console (~> 2.0) wicked_pdf wkhtmltopdf-binary - yaml_db + yaml_db! yard RUBY VERSION diff --git a/db/schema.rb b/db/schema.rb index a1cf34f..c5c053b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -9,399 +9,454 @@ # 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). # -# It's strongly recommended to check this file into your version control system. +# It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(:version => 20150809210811) do +ActiveRecord::Schema.define(version: 20161024163920) do - create_table "answers", :force => true do |t| - t.text "text" - t.integer "plan_id" - t.integer "user_id" - t.integer "question_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "answers", force: :cascade do |t| + t.text "text", limit: 65535 + t.integer "plan_id", limit: 4 + t.integer "user_id", limit: 4 + t.integer "question_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end - create_table "answers_options", :id => false, :force => true do |t| - t.integer "answer_id", :null => false - t.integer "option_id", :null => false + create_table "answers_options", id: false, force: :cascade do |t| + t.integer "answer_id", limit: 4, null: false + t.integer "option_id", limit: 4, null: false end - add_index "answers_options", ["answer_id", "option_id"], :name => "index_answers_options_on_answer_id_and_option_id" + add_index "answers_options", ["answer_id", "option_id"], name: "index_answers_options_on_answer_id_and_option_id", using: :btree - create_table "comments", :force => true do |t| - t.integer "user_id" - t.integer "question_id" - t.text "text" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "comments", force: :cascade do |t| + t.integer "user_id", limit: 4 + t.integer "question_id", limit: 4 + t.text "text", limit: 65535 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.boolean "archived" - t.integer "plan_id" - t.integer "archived_by" + t.integer "plan_id", limit: 4 + t.integer "archived_by", limit: 4 end - create_table "dmptemplates", :force => true do |t| - t.string "title" - t.text "description" + create_table "dmptemplates", force: :cascade do |t| + t.string "title", limit: 255 + t.text "description", limit: 65535 t.boolean "published" - t.integer "user_id" - t.integer "organisation_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.string "locale" + t.integer "user_id", limit: 4 + t.integer "organisation_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.string "locale", limit: 255 t.boolean "is_default" end - create_table "dmptemplates_guidance_groups", :id => false, :force => true do |t| - t.integer "dmptemplate_id" - t.integer "guidance_group_id" + create_table "dmptemplates_guidance_groups", id: false, force: :cascade do |t| + t.integer "dmptemplate_id", limit: 4 + t.integer "guidance_group_id", limit: 4 end - create_table "exported_plans", :force => true do |t| - t.integer "plan_id" - t.integer "user_id" - t.string "format" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "exported_plans", force: :cascade do |t| + t.integer "plan_id", limit: 4 + t.integer "user_id", limit: 4 + t.string "format", limit: 255 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end - create_table "file_types", :force => true do |t| - t.string "name" - t.string "icon_name" - t.integer "icon_size" - t.string "icon_location" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "file_types", force: :cascade do |t| + t.string "name", limit: 255 + t.string "icon_name", limit: 255 + t.integer "icon_size", limit: 4 + t.string "icon_location", limit: 255 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end - create_table "file_uploads", :force => true do |t| - t.string "name" - t.string "title" - t.text "description" - t.integer "size" + create_table "file_uploads", force: :cascade do |t| + t.string "name", limit: 255 + t.string "title", limit: 255 + t.text "description", limit: 65535 + t.integer "size", limit: 4 t.boolean "published" - t.string "location" - t.integer "file_type_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.string "location", limit: 255 + t.integer "file_type_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end - create_table "friendly_id_slugs", :force => true do |t| - t.string "slug", :null => false - t.integer "sluggable_id", :null => false - t.string "sluggable_type", :limit => 40 + create_table "friendly_id_slugs", force: :cascade do |t| + t.string "slug", limit: 255, null: false + t.integer "sluggable_id", limit: 4, null: false + t.string "sluggable_type", limit: 40 t.datetime "created_at" end - add_index "friendly_id_slugs", ["slug", "sluggable_type"], :name => "index_friendly_id_slugs_on_slug_and_sluggable_type", :unique => true - add_index "friendly_id_slugs", ["sluggable_id"], :name => "index_friendly_id_slugs_on_sluggable_id" - add_index "friendly_id_slugs", ["sluggable_type"], :name => "index_friendly_id_slugs_on_sluggable_type" + add_index "friendly_id_slugs", ["slug", "sluggable_type"], name: "index_friendly_id_slugs_on_slug_and_sluggable_type", unique: true, using: :btree + add_index "friendly_id_slugs", ["sluggable_id"], name: "index_friendly_id_slugs_on_sluggable_id", using: :btree + add_index "friendly_id_slugs", ["sluggable_type"], name: "index_friendly_id_slugs_on_sluggable_type", using: :btree - create_table "guidance_groups", :force => true do |t| - t.string "name" - t.integer "organisation_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "guidance_groups", force: :cascade do |t| + t.string "name", limit: 255 + t.integer "organisation_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.boolean "optional_subset" t.boolean "published" end - create_table "guidance_in_group", :id => false, :force => true do |t| - t.integer "guidance_id", :null => false - t.integer "guidance_group_id", :null => false + create_table "guidance_in_group", id: false, force: :cascade do |t| + t.integer "guidance_id", limit: 4, null: false + t.integer "guidance_group_id", limit: 4, null: false end - add_index "guidance_in_group", ["guidance_id", "guidance_group_id"], :name => "index_guidance_in_group_on_guidance_id_and_guidance_group_id" + add_index "guidance_in_group", ["guidance_id", "guidance_group_id"], name: "index_guidance_in_group_on_guidance_id_and_guidance_group_id", using: :btree - create_table "guidances", :force => true do |t| - t.text "text" - t.integer "guidance_group_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.integer "question_id" + create_table "guidances", force: :cascade do |t| + t.text "text", limit: 65535 + t.integer "guidance_group_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.integer "question_id", limit: 4 + t.boolean "published" end - create_table "option_warnings", :force => true do |t| - t.integer "organisation_id" - t.integer "option_id" - t.text "text" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "identifier_schemes", force: :cascade do |t| + t.string "name", limit: 255 + t.string "logo", limit: 255 + t.string "api_key", limit: 255 + t.string "api_secret", limit: 255 + t.string "landing_page_uri", limit: 255 + t.string "params", limit: 255 + t.datetime "created_at" + t.datetime "updated_at" end - create_table "options", :force => true do |t| - t.integer "question_id" - t.string "text" - t.integer "number" + create_table "languages", force: :cascade do |t| + t.string "abbreviation", limit: 255 + t.string "description", limit: 255 + t.string "name", limit: 255 + t.boolean "default_language" + end + + create_table "option_warnings", force: :cascade do |t| + t.integer "organisation_id", limit: 4 + t.integer "option_id", limit: 4 + t.text "text", limit: 65535 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + + create_table "options", force: :cascade do |t| + t.integer "question_id", limit: 4 + t.string "text", limit: 255 + t.integer "number", limit: 4 t.boolean "is_default" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end - create_table "organisation_types", :force => true do |t| - t.string "name" - t.text "description" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "org_token_permissions", force: :cascade do |t| + t.integer "organisation_id", limit: 4 + t.integer "token_permission_type_id", limit: 4 + t.datetime "created_at" + t.datetime "updated_at" end - create_table "organisations", :force => true do |t| - t.string "name" - t.string "abbreviation" - t.text "description" - t.string "target_url" - t.integer "organisation_type_id" - t.string "domain" - t.integer "wayfless_entity" - t.integer "stylesheet_file_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.integer "parent_id" + create_table "organisation_types", force: :cascade do |t| + t.string "name", limit: 255 + t.text "description", limit: 65535 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + + create_table "organisations", force: :cascade do |t| + t.string "name", limit: 255 + t.string "abbreviation", limit: 255 + t.string "target_url", limit: 255 + t.integer "organisation_type_id", limit: 4 + t.string "domain", limit: 255 + t.string "wayfless_entity", limit: 255 + t.integer "stylesheet_file_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.integer "parent_id", limit: 4 t.boolean "is_other" - t.string "sort_name" - t.text "banner_text" - t.string "logo_file_name" + t.string "sort_name", limit: 255 + t.text "banner_text", limit: 65535 + t.integer "region_id", limit: 4 + t.integer "language_id", limit: 4 + t.string "logo_uid", limit: 255 + t.string "logo_name", limit: 255 + t.string "contact_email", limit: 255 end - create_table "phases", :force => true do |t| - t.string "title" - t.text "description" - t.integer "number" - t.integer "dmptemplate_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.string "slug" + create_table "phases", force: :cascade do |t| + t.string "title", limit: 255 + t.text "description", limit: 65535 + t.integer "number", limit: 4 + t.integer "dmptemplate_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.string "slug", limit: 255 end - add_index "phases", ["dmptemplate_id"], :name => "index_phases_on_dmptemplate_id" - add_index "phases", ["slug"], :name => "index_phases_on_slug", :unique => true + add_index "phases", ["dmptemplate_id"], name: "index_phases_on_dmptemplate_id", using: :btree + add_index "phases", ["slug"], name: "index_phases_on_slug", unique: true, using: :btree - create_table "plan_sections", :force => true do |t| - t.integer "user_id" - t.integer "section_id" - t.integer "plan_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "plan_sections", force: :cascade do |t| + t.integer "user_id", limit: 4 + t.integer "section_id", limit: 4 + t.integer "plan_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.datetime "release_time" end - create_table "plans", :force => true do |t| + create_table "plans", force: :cascade do |t| t.boolean "locked" - t.integer "project_id" - t.integer "version_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.integer "project_id", limit: 4 + t.integer "version_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end - create_table "project_groups", :force => true do |t| + create_table "project_groups", force: :cascade do |t| t.boolean "project_creator" t.boolean "project_editor" - t.integer "user_id" - t.integer "project_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.integer "user_id", limit: 4 + t.integer "project_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.boolean "project_administrator" end - create_table "project_guidance", :id => false, :force => true do |t| - t.integer "project_id", :null => false - t.integer "guidance_group_id", :null => false + create_table "project_guidance", id: false, force: :cascade do |t| + t.integer "project_id", limit: 4, null: false + t.integer "guidance_group_id", limit: 4, null: false end - add_index "project_guidance", ["project_id", "guidance_group_id"], :name => "index_project_guidance_on_project_id_and_guidance_group_id" + add_index "project_guidance", ["project_id", "guidance_group_id"], name: "index_project_guidance_on_project_id_and_guidance_group_id", using: :btree - create_table "projects", :force => true do |t| - t.string "title" - t.integer "dmptemplate_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.string "slug" - t.integer "organisation_id" - t.string "grant_number" - t.string "identifier" - t.text "description" - t.string "principal_investigator" - t.string "principal_investigator_identifier" - t.string "data_contact" - t.string "funder_name" + create_table "projects", force: :cascade do |t| + t.string "title", limit: 255 + t.integer "dmptemplate_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.string "slug", limit: 255 + t.integer "organisation_id", limit: 4 + t.string "grant_number", limit: 255 + t.string "identifier", limit: 255 + t.text "description", limit: 65535 + t.string "principal_investigator", limit: 255 + t.string "principal_investigator_identifier", limit: 255 + t.string "data_contact", limit: 255 + t.string "funder_name", limit: 255 end - add_index "projects", ["slug"], :name => "index_projects_on_slug", :unique => true + add_index "projects", ["slug"], name: "index_projects_on_slug", unique: true, using: :btree - create_table "question_formats", :force => true do |t| - t.string "title" - t.text "description" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "question_formats", force: :cascade do |t| + t.string "title", limit: 255 + t.text "description", limit: 65535 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end - create_table "questions", :force => true do |t| - t.text "text" - t.text "default_value" - t.text "guidance" - t.integer "number" - t.integer "parent_id" - t.integer "dependency_id" - t.text "dependency_text" - t.integer "section_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.integer "question_format_id" - t.boolean "option_comment_display", :default => true + create_table "questions", force: :cascade do |t| + t.text "text", limit: 65535 + t.text "default_value", limit: 65535 + t.text "guidance", limit: 65535 + t.integer "number", limit: 4 + t.integer "parent_id", limit: 4 + t.integer "dependency_id", limit: 4 + t.text "dependency_text", limit: 65535 + t.integer "section_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.integer "question_format_id", limit: 4 + t.boolean "option_comment_display", default: true end - create_table "questions_themes", :id => false, :force => true do |t| - t.integer "question_id", :null => false - t.integer "theme_id", :null => false + create_table "questions_themes", id: false, force: :cascade do |t| + t.integer "question_id", limit: 4, null: false + t.integer "theme_id", limit: 4, null: false end - add_index "questions_themes", ["question_id", "theme_id"], :name => "index_questions_themes_on_question_id_and_theme_id" + add_index "questions_themes", ["question_id", "theme_id"], name: "index_questions_themes_on_question_id_and_theme_id", using: :btree - create_table "roles", :force => true do |t| - t.string "name" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "region_groups", force: :cascade do |t| + t.integer "super_region_id", limit: 4 + t.integer "region_id", limit: 4 + end + + create_table "regions", force: :cascade do |t| + t.string "abbreviation", limit: 255 + t.string "description", limit: 255 + t.string "name", limit: 255 + end + + create_table "roles", force: :cascade do |t| + t.string "name", limit: 255 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.boolean "role_in_plans" - t.integer "resource_id" - t.string "resource_type" + t.integer "resource_id", limit: 4 + t.string "resource_type", limit: 255 end - add_index "roles", ["name"], :name => "index_roles_on_name" - add_index "roles", ["name"], :name => "index_roles_on_name_and_resource_type_and_resource_id" + add_index "roles", ["name"], name: "index_roles_on_name", using: :btree + add_index "roles", ["name"], name: "index_roles_on_name_and_resource_type_and_resource_id", using: :btree - create_table "sections", :force => true do |t| - t.string "title" - t.text "description" - t.integer "number" - t.integer "version_id" - t.integer "organisation_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "sections", force: :cascade do |t| + t.string "title", limit: 255 + t.text "description", limit: 65535 + t.integer "number", limit: 4 + t.integer "version_id", limit: 4 + t.integer "organisation_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.boolean "published" end - create_table "settings", :force => true do |t| - t.string "var", :null => false - t.text "value" - t.integer "target_id", :null => false - t.string "target_type", :null => false - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "settings", force: :cascade do |t| + t.string "var", limit: 255, null: false + t.text "value", limit: 65535 + t.integer "target_id", limit: 4, null: false + t.string "target_type", limit: 255, null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end - add_index "settings", ["target_type", "target_id", "var"], :name => "index_settings_on_target_type_and_target_id_and_var", :unique => true + add_index "settings", ["target_type", "target_id", "var"], name: "index_settings_on_target_type_and_target_id_and_var", unique: true, using: :btree - create_table "splash_logs", :force => true do |t| - t.string "destination" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "splash_logs", force: :cascade do |t| + t.string "destination", limit: 255 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end - create_table "suggested_answers", :force => true do |t| - t.integer "question_id" - t.integer "organisation_id" - t.text "text" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + create_table "suggested_answers", force: :cascade do |t| + t.integer "question_id", limit: 4 + t.integer "organisation_id", limit: 4 + t.text "text", limit: 65535 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false t.boolean "is_example" end - create_table "themes", :force => true do |t| - t.string "title" - t.text "description" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.string "locale" + create_table "themes", force: :cascade do |t| + t.string "title", limit: 255 + t.text "description", limit: 65535 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.string "locale", limit: 255 end - create_table "themes_in_guidance", :id => false, :force => true do |t| - t.integer "theme_id" - t.integer "guidance_id" + create_table "themes_in_guidance", id: false, force: :cascade do |t| + t.integer "theme_id", limit: 4 + t.integer "guidance_id", limit: 4 end - create_table "user_org_roles", :force => true do |t| - t.integer "user_id" - t.integer "organisation_id" - t.integer "user_role_type_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - end - - create_table "user_role_types", :force => true do |t| - t.string "name" - t.text "description" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - end - - create_table "user_statuses", :force => true do |t| - t.string "name" - t.text "description" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - end - - create_table "user_types", :force => true do |t| - t.string "name" - t.text "description" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - end - - create_table "users", :force => true do |t| - t.string "firstname" - t.string "surname" - t.string "email", :default => "", :null => false - t.string "orcid_id" - t.string "shibboleth_id" - t.integer "user_type_id" - t.integer "user_status_id" + create_table "token_permission_types", force: :cascade do |t| + t.string "token_type", limit: 255 + t.text "text_description", limit: 65535 t.datetime "created_at" t.datetime "updated_at" - t.string "encrypted_password", :default => "" - t.string "reset_password_token" + end + + create_table "user_identifiers", force: :cascade do |t| + t.string "identifier", limit: 255 + t.datetime "created_at" + t.datetime "updated_at" + t.integer "user_id", limit: 4 + t.integer "identifier_scheme_id", limit: 4 + end + + add_index "user_identifiers", ["identifier_scheme_id"], name: "fk_rails_fe95df7db0", using: :btree + add_index "user_identifiers", ["user_id"], name: "fk_rails_65c9a98cdb", using: :btree + + create_table "user_role_types", force: :cascade do |t| + t.string "name", limit: 255 + t.text "description", limit: 65535 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + + create_table "user_statuses", force: :cascade do |t| + t.string "name", limit: 255 + t.text "description", limit: 65535 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + + create_table "user_types", force: :cascade do |t| + t.string "name", limit: 255 + t.text "description", limit: 65535 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + + create_table "users", force: :cascade do |t| + t.string "firstname", limit: 255 + t.string "surname", limit: 255 + t.string "email", limit: 255, default: "", null: false + t.string "orcid_id", limit: 255 + t.string "shibboleth_id", limit: 255 + t.integer "user_type_id", limit: 4 + t.integer "user_status_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.string "encrypted_password", limit: 255, default: "" + t.string "reset_password_token", limit: 255 t.datetime "reset_password_sent_at" t.datetime "remember_created_at" - t.integer "sign_in_count", :default => 0 + t.integer "sign_in_count", limit: 4, default: 0 t.datetime "current_sign_in_at" t.datetime "last_sign_in_at" - t.string "current_sign_in_ip" - t.string "last_sign_in_ip" - t.string "confirmation_token" + t.string "current_sign_in_ip", limit: 255 + t.string "last_sign_in_ip", limit: 255 + t.string "confirmation_token", limit: 255 t.datetime "confirmed_at" t.datetime "confirmation_sent_at" - t.string "invitation_token" + t.string "invitation_token", limit: 255 t.datetime "invitation_created_at" t.datetime "invitation_sent_at" t.datetime "invitation_accepted_at" - t.string "other_organisation" - t.boolean "dmponline3" + t.string "other_organisation", limit: 255 t.boolean "accept_terms" - t.integer "organisation_id" + t.integer "organisation_id", limit: 4 + t.string "api_token", limit: 255 + t.integer "invited_by_id", limit: 4 + t.string "invited_by_type", limit: 255 + t.integer "language_id", limit: 4 end - add_index "users", ["confirmation_token"], :name => "index_users_on_confirmation_token", :unique => true - add_index "users", ["email"], :name => "index_users_on_email", :unique => true - add_index "users", ["invitation_token"], :name => "index_users_on_invitation_token", :unique => true - add_index "users", ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true + add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true, using: :btree + add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree + add_index "users", ["invitation_token"], name: "index_users_on_invitation_token", unique: true, using: :btree + add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree - create_table "users_roles", :id => false, :force => true do |t| - t.integer "user_id" - t.integer "role_id" + create_table "users_roles", id: false, force: :cascade do |t| + t.integer "user_id", limit: 4 + t.integer "role_id", limit: 4 end - add_index "users_roles", ["user_id", "role_id"], :name => "index_users_roles_on_user_id_and_role_id" + add_index "users_roles", ["user_id", "role_id"], name: "index_users_roles_on_user_id_and_role_id", using: :btree - create_table "versions", :force => true do |t| - t.string "title" - t.text "description" + create_table "versions", force: :cascade do |t| + t.string "title", limit: 255 + t.text "description", limit: 65535 t.boolean "published" - t.integer "number" - t.integer "phase_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.integer "number", limit: 4 + t.integer "phase_id", limit: 4 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end - add_index "versions", ["phase_id"], :name => "index_versions_on_phase_id" + add_index "versions", ["phase_id"], name: "index_versions_on_phase_id", using: :btree -end \ No newline at end of file + add_foreign_key "user_identifiers", "identifier_schemes" + add_foreign_key "user_identifiers", "users" +end