diff --git a/Gemfile b/Gemfile index 87d82fdd5..41ee3d5d7 100644 --- a/Gemfile +++ b/Gemfile @@ -8,6 +8,7 @@ gem "decidim", DECIDIM_VERSION gem "decidim-dataviz", path: "decidim-dataviz" gem "decidim-initiatives", git: "https://github.com/decidim/decidim-initiatives", branch: "0.10-stable" gem "decidim-sortitions", git: "https://github.com/decidim/decidim-module-sortitions", branch: "0.10-stable" +gem "decidim-consultations", git: "https://github.com/decidim/decidim-module-consultations", branch: "0.10-stable" gem "virtus-multiparams" diff --git a/Gemfile.lock b/Gemfile.lock index 0c2e90391..2fcf07812 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -154,6 +154,17 @@ GIT truncato wicked +GIT + remote: https://github.com/decidim/decidim-module-consultations + revision: ada720bb3bac95b7b838cef7d802d653da1aa483 + branch: 0.10-stable + specs: + decidim-consultations (0.10.0.pre) + decidim-admin + decidim-comments + decidim-core (~> 0.10.0.pre) + rails (~> 5.1) + GIT remote: https://github.com/decidim/decidim-module-sortitions revision: 874565ae7c6f7e6bdb17363766bb31e5aa7f7abc @@ -677,6 +688,7 @@ DEPENDENCIES dalli database_cleaner decidim! + decidim-consultations! decidim-dataviz! decidim-dev! decidim-initiatives! diff --git a/db/migrate/20180319135724_create_decidim_consultations.decidim_consultations.rb b/db/migrate/20180319135724_create_decidim_consultations.decidim_consultations.rb new file mode 100644 index 000000000..e4d41ca66 --- /dev/null +++ b/db/migrate/20180319135724_create_decidim_consultations.decidim_consultations.rb @@ -0,0 +1,38 @@ +# This migration comes from decidim_consultations (originally 20180109092205) +# frozen_string_literal: true + +class CreateDecidimConsultations < ActiveRecord::Migration[5.1] + def change + create_table :decidim_consultations do |t| + t.string :slug, null: false + t.integer :decidim_organization_id, + foreign_key: true, + index: { + name: "index_decidim_consultations_on_decidim_organization_id" + } + + t.index [:decidim_organization_id, :slug], + name: "index_unique_consultation_slug_and_organization", + unique: true + + t.jsonb :title, null: false + t.jsonb :subtitle, null: false + t.jsonb :description, null: false + + # Text search indexes for consultations. + t.index :title, name: "decidim_consultations_title_search" + t.index :subtitle, name: "decidim_consultations_subtitle_search" + t.index :description, name: "decidim_consultations_description_search" + + t.string :banner_image + t.string :introductory_video_url + t.date :start_voting_date, null: false + t.integer :decidim_highlighted_scope_id, index: true + + # Publicable + t.datetime :published_at, index: true + + t.timestamps + end + end +end diff --git a/db/migrate/20180319135725_create_decidim_consultations_questions.decidim_consultations.rb b/db/migrate/20180319135725_create_decidim_consultations_questions.decidim_consultations.rb new file mode 100644 index 000000000..257dff46b --- /dev/null +++ b/db/migrate/20180319135725_create_decidim_consultations_questions.decidim_consultations.rb @@ -0,0 +1,36 @@ +# This migration comes from decidim_consultations (originally 20180112053247) +# frozen_string_literal: true + +class CreateDecidimConsultationsQuestions < ActiveRecord::Migration[5.1] + def change + create_table :decidim_consultations_questions do |t| + t.references :decidim_consultation, index: { name: "index_consultations_questions_on_consultation_id" } + t.references :decidim_scope + + t.jsonb :title, null: false + t.jsonb :subtitle, null: false + t.jsonb :what_is_decided, null: false + t.jsonb :promoter_group, null: false + t.jsonb :participatory_scope, null: false + t.jsonb :question_context + + # Text search indexes for consultation questions. + t.index :title, name: "consultation_questions_title_search" + t.index :subtitle, name: "consultation_questions_subtitle_search" + t.index :what_is_decided, name: "consultation_questions_what_is_decided_search" + t.index :promoter_group, name: "consultation_question_promoter_group_search" + t.index :participatory_scope, name: "consultation_question_participatory_scope_search" + t.index :question_context, name: "consultation_question_context_search" + + t.string :banner_image + t.string :introductory_video_url + t.string :reference + t.string :hashtag + + # Publicable + t.datetime :published_at, index: true + + t.timestamps + end + end +end diff --git a/db/migrate/20180319135726_add_end_voting_date_to_decidim_consultations.decidim_consultations.rb b/db/migrate/20180319135726_add_end_voting_date_to_decidim_consultations.decidim_consultations.rb new file mode 100644 index 000000000..d29e97cb0 --- /dev/null +++ b/db/migrate/20180319135726_add_end_voting_date_to_decidim_consultations.decidim_consultations.rb @@ -0,0 +1,15 @@ +# This migration comes from decidim_consultations (originally 20180115132000) +# frozen_string_literal: true + +class AddEndVotingDateToDecidimConsultations < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations, :end_voting_date, :date + + Decidim::Consultation.find_each do |consultation| + consultation.end_voting_date = consultation.start_voting_date + 1.month + consultation.save + end + + change_column_null :decidim_consultations, :end_voting_date, false + end +end diff --git a/db/migrate/20180319135727_add_slug_to_decidim_consultations_questions.decidim_consultations.rb b/db/migrate/20180319135727_add_slug_to_decidim_consultations_questions.decidim_consultations.rb new file mode 100644 index 000000000..4ca4f3b41 --- /dev/null +++ b/db/migrate/20180319135727_add_slug_to_decidim_consultations_questions.decidim_consultations.rb @@ -0,0 +1,29 @@ +# This migration comes from decidim_consultations (originally 20180115170933) +# frozen_string_literal: true + +class AddSlugToDecidimConsultationsQuestions < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations_questions, + :decidim_organization_id, + :integer, + index: { + name: "index_decidim_questions_on_decidim_organization_id" + } + + add_column :decidim_consultations_questions, :slug, :string + + Decidim::Consultations::Question.find_each do |question| + question.decidim_organization_id = question.consultation.decidim_organization_id + question.slug = "q-#{question.id}" + question.save + end + + change_column_null :decidim_consultations_questions, :decidim_organization_id, false + change_column_null :decidim_consultations_questions, :slug, false + + add_index :decidim_consultations_questions, + [:decidim_organization_id, :slug], + name: "index_unique_question_slug_and_organization", + unique: true + end +end diff --git a/db/migrate/20180319135728_create_decidim_consultations_votes.decidim_consultations.rb b/db/migrate/20180319135728_create_decidim_consultations_votes.decidim_consultations.rb new file mode 100644 index 000000000..2d9774888 --- /dev/null +++ b/db/migrate/20180319135728_create_decidim_consultations_votes.decidim_consultations.rb @@ -0,0 +1,18 @@ +# This migration comes from decidim_consultations (originally 20180119084217) +# frozen_string_literal: true + +class CreateDecidimConsultationsVotes < ActiveRecord::Migration[5.1] + def change + create_table :decidim_consultations_votes do |t| + t.references :decidim_consultation_question, index: { name: "index_consultations_votes_on_consultation_question" } + t.references :decidim_author, index: { name: "index_consultations_votes_on_author" } + + t.timestamps + end + + add_index :decidim_consultations_votes, + %i[decidim_consultation_question_id decidim_author_id], + unique: true, + name: "index_question_votes_author_unique" + end +end diff --git a/db/migrate/20180319135729_add_votes_count_to_decidim_consultations_question.decidim_consultations.rb b/db/migrate/20180319135729_add_votes_count_to_decidim_consultations_question.decidim_consultations.rb new file mode 100644 index 000000000..b2f0b4bf4 --- /dev/null +++ b/db/migrate/20180319135729_add_votes_count_to_decidim_consultations_question.decidim_consultations.rb @@ -0,0 +1,8 @@ +# This migration comes from decidim_consultations (originally 20180119084331) +# frozen_string_literal: true + +class AddVotesCountToDecidimConsultationsQuestion < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations_questions, :votes_count, :integer, null: false, default: 0 + end +end diff --git a/db/migrate/20180319135730_add_origin_scope_to_decidim_consultations_questions.decidim_consultations.rb b/db/migrate/20180319135730_add_origin_scope_to_decidim_consultations_questions.decidim_consultations.rb new file mode 100644 index 000000000..ea3fbe397 --- /dev/null +++ b/db/migrate/20180319135730_add_origin_scope_to_decidim_consultations_questions.decidim_consultations.rb @@ -0,0 +1,9 @@ +# This migration comes from decidim_consultations (originally 20180122113155) +# frozen_string_literal: true + +class AddOriginScopeToDecidimConsultationsQuestions < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations_questions, :origin_scope, :jsonb + add_index :decidim_consultations_questions, :origin_scope, name: "consultation_questions_origin_scope_search" + end +end diff --git a/db/migrate/20180319135731_add_origin_title_to_decidim_consultations_questions.decidim_consultations.rb b/db/migrate/20180319135731_add_origin_title_to_decidim_consultations_questions.decidim_consultations.rb new file mode 100644 index 000000000..fee6fc7b2 --- /dev/null +++ b/db/migrate/20180319135731_add_origin_title_to_decidim_consultations_questions.decidim_consultations.rb @@ -0,0 +1,9 @@ +# This migration comes from decidim_consultations (originally 20180122113400) +# frozen_string_literal: true + +class AddOriginTitleToDecidimConsultationsQuestions < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations_questions, :origin_title, :jsonb + add_index :decidim_consultations_questions, :origin_title, name: "consultation_questions_origin_title_search" + end +end diff --git a/db/migrate/20180319135732_add_origin_string_to_decidim_consultations_questions.decidim_consultations.rb b/db/migrate/20180319135732_add_origin_string_to_decidim_consultations_questions.decidim_consultations.rb new file mode 100644 index 000000000..67c4044a3 --- /dev/null +++ b/db/migrate/20180319135732_add_origin_string_to_decidim_consultations_questions.decidim_consultations.rb @@ -0,0 +1,8 @@ +# This migration comes from decidim_consultations (originally 20180122113447) +# frozen_string_literal: true + +class AddOriginStringToDecidimConsultationsQuestions < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations_questions, :origin_url, :string + end +end diff --git a/db/migrate/20180319135733_add_enable_highlighted_banner_to_decidim_consultations.decidim_consultations.rb b/db/migrate/20180319135733_add_enable_highlighted_banner_to_decidim_consultations.decidim_consultations.rb new file mode 100644 index 000000000..c730f4ca1 --- /dev/null +++ b/db/migrate/20180319135733_add_enable_highlighted_banner_to_decidim_consultations.decidim_consultations.rb @@ -0,0 +1,8 @@ +# This migration comes from decidim_consultations (originally 20180126142459) +# frozen_string_literal: true + +class AddEnableHighlightedBannerToDecidimConsultations < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations, :enable_highlighted_banner, :boolean, null: false, default: true + end +end diff --git a/db/migrate/20180319135734_add_i_frame_url_to_decidim_consultations_questions.decidim_consultations.rb b/db/migrate/20180319135734_add_i_frame_url_to_decidim_consultations_questions.decidim_consultations.rb new file mode 100644 index 000000000..9bef7512c --- /dev/null +++ b/db/migrate/20180319135734_add_i_frame_url_to_decidim_consultations_questions.decidim_consultations.rb @@ -0,0 +1,9 @@ +# This migration comes from decidim_consultations (originally 20180129063438) +# frozen_string_literal: true + +class AddIFrameUrlToDecidimConsultationsQuestions < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations_questions, :i_frame_url, :string + add_column :decidim_consultations_questions, :external_voting, :boolean + end +end diff --git a/db/migrate/20180319135735_create_decidim_consultations_responses.decidim_consultations.rb b/db/migrate/20180319135735_create_decidim_consultations_responses.decidim_consultations.rb new file mode 100644 index 000000000..344734897 --- /dev/null +++ b/db/migrate/20180319135735_create_decidim_consultations_responses.decidim_consultations.rb @@ -0,0 +1,15 @@ +# This migration comes from decidim_consultations (originally 20180129063700) +# frozen_string_literal: true + +class CreateDecidimConsultationsResponses < ActiveRecord::Migration[5.1] + def change + create_table :decidim_consultations_responses do |t| + t.jsonb :title + t.references :decidim_consultations_questions, + foreign_key: true, + index: { name: "index_consultations_responses_on_consultation_questions" } + + t.timestamps + end + end +end diff --git a/db/migrate/20180319135736_rename_decidim_consultations_vote_to_decidim_consultations_endorsement.decidim_consultations.rb b/db/migrate/20180319135736_rename_decidim_consultations_vote_to_decidim_consultations_endorsement.decidim_consultations.rb new file mode 100644 index 000000000..9ba3e173f --- /dev/null +++ b/db/migrate/20180319135736_rename_decidim_consultations_vote_to_decidim_consultations_endorsement.decidim_consultations.rb @@ -0,0 +1,8 @@ +# This migration comes from decidim_consultations (originally 20180129122226) +# frozen_string_literal: true + +class RenameDecidimConsultationsVoteToDecidimConsultationsEndorsement < ActiveRecord::Migration[5.1] + def change + rename_table :decidim_consultations_votes, :decidim_consultations_endorsements + end +end diff --git a/db/migrate/20180319135737_rename_decidim_consultations_questions_votes_count_to_endorsements_count.decidim_consultations.rb b/db/migrate/20180319135737_rename_decidim_consultations_questions_votes_count_to_endorsements_count.decidim_consultations.rb new file mode 100644 index 000000000..510854d0b --- /dev/null +++ b/db/migrate/20180319135737_rename_decidim_consultations_questions_votes_count_to_endorsements_count.decidim_consultations.rb @@ -0,0 +1,8 @@ +# This migration comes from decidim_consultations (originally 20180129122504) +# frozen_string_literal: true + +class RenameDecidimConsultationsQuestionsVotesCountToEndorsementsCount < ActiveRecord::Migration[5.1] + def change + rename_column :decidim_consultations_questions, :votes_count, :endorsements_count + end +end diff --git a/db/migrate/20180319135738_add_responses_count_to_decidim_consultations_questions.decidim_consultations.rb b/db/migrate/20180319135738_add_responses_count_to_decidim_consultations_questions.decidim_consultations.rb new file mode 100644 index 000000000..29e786759 --- /dev/null +++ b/db/migrate/20180319135738_add_responses_count_to_decidim_consultations_questions.decidim_consultations.rb @@ -0,0 +1,23 @@ +# This migration comes from decidim_consultations (originally 20180130060754) +# frozen_string_literal: true + +class AddResponsesCountToDecidimConsultationsQuestions < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations_questions, :responses_count, :integer, null: false, default: 0 + + reversible do |dir| + dir.up { initialize_counter } + end + end + + def initialize_counter + execute <<-SQL.squish + UPDATE decidim_consultations_questions + SET responses_count = ( + select count(1) + from decidim_consultations_responses + where decidim_consultations_questions_id = decidim_consultations_questions.id + ) + SQL + end +end diff --git a/db/migrate/20180319135739_rename_vote_related_attributes.decidim_consultations.rb b/db/migrate/20180319135739_rename_vote_related_attributes.decidim_consultations.rb new file mode 100644 index 000000000..77dcabed2 --- /dev/null +++ b/db/migrate/20180319135739_rename_vote_related_attributes.decidim_consultations.rb @@ -0,0 +1,10 @@ +# This migration comes from decidim_consultations (originally 20180130110449) +# frozen_string_literal: true + +class RenameVoteRelatedAttributes < ActiveRecord::Migration[5.1] + def change + rename_column :decidim_consultations, :start_voting_date, :start_endorsing_date + rename_column :decidim_consultations, :end_voting_date, :end_endorsing_date + rename_column :decidim_consultations_questions, :external_voting, :external_endorsement + end +end diff --git a/db/migrate/20180319135740_add_decidim_user_group_id_to_decidim_consultations_endorsements.decidim_consultations.rb b/db/migrate/20180319135740_add_decidim_user_group_id_to_decidim_consultations_endorsements.decidim_consultations.rb new file mode 100644 index 000000000..25b81010f --- /dev/null +++ b/db/migrate/20180319135740_add_decidim_user_group_id_to_decidim_consultations_endorsements.decidim_consultations.rb @@ -0,0 +1,8 @@ +# This migration comes from decidim_consultations (originally 20180130142018) +# frozen_string_literal: true + +class AddDecidimUserGroupIdToDecidimConsultationsEndorsements < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations_endorsements, :decidim_user_group_id, :integer, index: true + end +end diff --git a/db/migrate/20180319135741_rename_vote_indexes_to_endorsement_indexes.decidim_consultations.rb b/db/migrate/20180319135741_rename_vote_indexes_to_endorsement_indexes.decidim_consultations.rb new file mode 100644 index 000000000..13c7f3050 --- /dev/null +++ b/db/migrate/20180319135741_rename_vote_indexes_to_endorsement_indexes.decidim_consultations.rb @@ -0,0 +1,37 @@ +# This migration comes from decidim_consultations (originally 20180130142411) +# frozen_string_literal: true + +class RenameVoteIndexesToEndorsementIndexes < ActiveRecord::Migration[5.1] + def change + rename_index :decidim_consultations_endorsements, + :index_consultations_votes_on_author, + :index_consultations_endorsements_on_author + + rename_index :decidim_consultations_endorsements, + :index_consultations_votes_on_consultation_question, + :index_consultations_endorsements_on_consultation_question + + reversible do |dir| + dir.up { create_authorable_unique } + dir.down { create_author_unique } + end + end + + def create_authorable_unique + remove_index :decidim_consultations_endorsements, name: "index_question_votes_author_unique" + + add_index :decidim_consultations_endorsements, + %w[decidim_consultation_question_id decidim_author_id decidim_user_group_id], + name: "index_question_votes_author_unique", + unique: true + end + + def create_author_unique + remove_index :decidim_consultations_endorsements, name: "index_question_votes_author_unique" + + add_index :decidim_consultations_endorsements, + %w[decidim_consultation_question_id decidim_author_id], + name: "index_question_votes_author_unique", + unique: true + end +end diff --git a/db/migrate/20180319135742_add_response_to_decidim_consultations_endorsements.decidim_consultations.rb b/db/migrate/20180319135742_add_response_to_decidim_consultations_endorsements.decidim_consultations.rb new file mode 100644 index 000000000..8c87f7c8f --- /dev/null +++ b/db/migrate/20180319135742_add_response_to_decidim_consultations_endorsements.decidim_consultations.rb @@ -0,0 +1,11 @@ +# This migration comes from decidim_consultations (originally 20180131083844) +# frozen_string_literal: true + +class AddResponseToDecidimConsultationsEndorsements < ActiveRecord::Migration[5.1] + def change + add_reference :decidim_consultations_endorsements, + :decidim_consultations_response, + foreign_key: true, + index: { name: "index_consultations_endorsements_on_consultations_response_id" } + end +end diff --git a/db/migrate/20180319135743_rename_endorsement_to_vote.decidim_consultations.rb b/db/migrate/20180319135743_rename_endorsement_to_vote.decidim_consultations.rb new file mode 100644 index 000000000..f7447d3b9 --- /dev/null +++ b/db/migrate/20180319135743_rename_endorsement_to_vote.decidim_consultations.rb @@ -0,0 +1,24 @@ +# This migration comes from decidim_consultations (originally 20180201135823) +# frozen_string_literal: true + +class RenameEndorsementToVote < ActiveRecord::Migration[5.1] + def change + rename_table :decidim_consultations_endorsements, :decidim_consultations_votes + rename_column :decidim_consultations_questions, :endorsements_count, :votes_count + rename_column :decidim_consultations, :start_endorsing_date, :start_voting_date + rename_column :decidim_consultations, :end_endorsing_date, :end_voting_date + rename_column :decidim_consultations_questions, :external_endorsement, :external_voting + + rename_index :decidim_consultations_votes, + :index_consultations_endorsements_on_author, + :index_consultations_votes_on_author + + rename_index :decidim_consultations_votes, + :index_consultations_endorsements_on_consultation_question, + :index_consultations_votes_on_consultation_question + + rename_index :decidim_consultations_votes, + :index_consultations_endorsements_on_consultations_response_id, + :index_consultations_votes_on_consultations_response_id + end +end diff --git a/db/migrate/20180319135744_add_hero_image_to_decidim_consultations_question.decidim_consultations.rb b/db/migrate/20180319135744_add_hero_image_to_decidim_consultations_question.decidim_consultations.rb new file mode 100644 index 000000000..10f90cb89 --- /dev/null +++ b/db/migrate/20180319135744_add_hero_image_to_decidim_consultations_question.decidim_consultations.rb @@ -0,0 +1,9 @@ +# This migration comes from decidim_consultations (originally 20180202050920) +# frozen_string_literal: true + +class AddHeroImageToDecidimConsultationsQuestion < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations_questions, :hero_image, :string + remove_column :decidim_consultations_questions, :introductory_video_url, :string + end +end diff --git a/db/migrate/20180319135745_add_results_published_at_to_decidim_consultations.decidim_consultations.rb b/db/migrate/20180319135745_add_results_published_at_to_decidim_consultations.decidim_consultations.rb new file mode 100644 index 000000000..ad7464274 --- /dev/null +++ b/db/migrate/20180319135745_add_results_published_at_to_decidim_consultations.decidim_consultations.rb @@ -0,0 +1,8 @@ +# This migration comes from decidim_consultations (originally 20180202085309) +# frozen_string_literal: true + +class AddResultsPublishedAtToDecidimConsultations < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations, :results_published_at, :date, index: true + end +end diff --git a/db/migrate/20180319135746_add_votes_count_to_decidim_consultations_response.decidim_consultations.rb b/db/migrate/20180319135746_add_votes_count_to_decidim_consultations_response.decidim_consultations.rb new file mode 100644 index 000000000..1175fddc1 --- /dev/null +++ b/db/migrate/20180319135746_add_votes_count_to_decidim_consultations_response.decidim_consultations.rb @@ -0,0 +1,8 @@ +# This migration comes from decidim_consultations (originally 20180202133655) +# frozen_string_literal: true + +class AddVotesCountToDecidimConsultationsResponse < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations_responses, :votes_count, :integer, null: false, default: 0 + end +end diff --git a/db/migrate/20180319135747_remove_enable_highlighted_banner_flag.decidim_consultations.rb b/db/migrate/20180319135747_remove_enable_highlighted_banner_flag.decidim_consultations.rb new file mode 100644 index 000000000..d8ab71225 --- /dev/null +++ b/db/migrate/20180319135747_remove_enable_highlighted_banner_flag.decidim_consultations.rb @@ -0,0 +1,8 @@ +# This migration comes from decidim_consultations (originally 20180212100503) +# frozen_string_literal: true + +class RemoveEnableHighlightedBannerFlag < ActiveRecord::Migration[5.1] + def change + remove_column :decidim_consultations, :enable_highlighted_banner, :boolean, null: false, default: true + end +end diff --git a/db/migrate/20180319135748_add_order_to_decidim_consultations_questions.decidim_consultations.rb b/db/migrate/20180319135748_add_order_to_decidim_consultations_questions.decidim_consultations.rb new file mode 100644 index 000000000..f2130fbf4 --- /dev/null +++ b/db/migrate/20180319135748_add_order_to_decidim_consultations_questions.decidim_consultations.rb @@ -0,0 +1,8 @@ +# This migration comes from decidim_consultations (originally 20180219092120) +# frozen_string_literal: true + +class AddOrderToDecidimConsultationsQuestions < ActiveRecord::Migration[5.1] + def change + add_column :decidim_consultations_questions, :order, :integer, index: true + end +end diff --git a/db/schema.rb b/db/schema.rb index 3ecf972cb..37b237522 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20180319095069) do +ActiveRecord::Schema.define(version: 20180319135748) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -258,6 +258,92 @@ t.index ["decidim_root_commentable_type", "decidim_root_commentable_id"], name: "decidim_comments_comment_root_commentable" end + create_table "decidim_consultations", force: :cascade do |t| + t.string "slug", null: false + t.integer "decidim_organization_id" + t.jsonb "title", null: false + t.jsonb "subtitle", null: false + t.jsonb "description", null: false + t.string "banner_image" + t.string "introductory_video_url" + t.date "start_voting_date", null: false + t.integer "decidim_highlighted_scope_id" + t.datetime "published_at" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.date "end_voting_date", null: false + t.date "results_published_at" + t.index ["decidim_highlighted_scope_id"], name: "index_decidim_consultations_on_decidim_highlighted_scope_id" + t.index ["decidim_organization_id", "slug"], name: "index_unique_consultation_slug_and_organization", unique: true + t.index ["decidim_organization_id"], name: "index_decidim_consultations_on_decidim_organization_id" + t.index ["description"], name: "decidim_consultations_description_search" + t.index ["published_at"], name: "index_decidim_consultations_on_published_at" + t.index ["subtitle"], name: "decidim_consultations_subtitle_search" + t.index ["title"], name: "decidim_consultations_title_search" + end + + create_table "decidim_consultations_questions", force: :cascade do |t| + t.bigint "decidim_consultation_id" + t.bigint "decidim_scope_id" + t.jsonb "title", null: false + t.jsonb "subtitle", null: false + t.jsonb "what_is_decided", null: false + t.jsonb "promoter_group", null: false + t.jsonb "participatory_scope", null: false + t.jsonb "question_context" + t.string "banner_image" + t.string "reference" + t.string "hashtag" + t.datetime "published_at" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.integer "decidim_organization_id", null: false + t.string "slug", null: false + t.integer "votes_count", default: 0, null: false + t.jsonb "origin_scope" + t.jsonb "origin_title" + t.string "origin_url" + t.string "i_frame_url" + t.boolean "external_voting" + t.integer "responses_count", default: 0, null: false + t.string "hero_image" + t.integer "order" + t.index ["decidim_consultation_id"], name: "index_consultations_questions_on_consultation_id" + t.index ["decidim_organization_id", "slug"], name: "index_unique_question_slug_and_organization", unique: true + t.index ["decidim_scope_id"], name: "index_decidim_consultations_questions_on_decidim_scope_id" + t.index ["origin_scope"], name: "consultation_questions_origin_scope_search" + t.index ["origin_title"], name: "consultation_questions_origin_title_search" + t.index ["participatory_scope"], name: "consultation_question_participatory_scope_search" + t.index ["promoter_group"], name: "consultation_question_promoter_group_search" + t.index ["published_at"], name: "index_decidim_consultations_questions_on_published_at" + t.index ["question_context"], name: "consultation_question_context_search" + t.index ["subtitle"], name: "consultation_questions_subtitle_search" + t.index ["title"], name: "consultation_questions_title_search" + t.index ["what_is_decided"], name: "consultation_questions_what_is_decided_search" + end + + create_table "decidim_consultations_responses", force: :cascade do |t| + t.jsonb "title" + t.bigint "decidim_consultations_questions_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.integer "votes_count", default: 0, null: false + t.index ["decidim_consultations_questions_id"], name: "index_consultations_responses_on_consultation_questions" + end + + create_table "decidim_consultations_votes", force: :cascade do |t| + t.bigint "decidim_consultation_question_id" + t.bigint "decidim_author_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.integer "decidim_user_group_id" + t.bigint "decidim_consultations_response_id" + t.index ["decidim_author_id"], name: "index_consultations_votes_on_author" + t.index ["decidim_consultation_question_id", "decidim_author_id", "decidim_user_group_id"], name: "index_question_votes_author_unique", unique: true + t.index ["decidim_consultation_question_id"], name: "index_consultations_votes_on_consultation_question" + t.index ["decidim_consultations_response_id"], name: "index_consultations_votes_on_consultations_response_id" + end + create_table "decidim_debates_debates", id: :serial, force: :cascade do |t| t.jsonb "title" t.jsonb "description" @@ -919,6 +1005,8 @@ add_foreign_key "decidim_attachments", "decidim_attachment_collections", column: "attachment_collection_id", name: "fk_decidim_attachments_attachment_collection_id", on_delete: :nullify add_foreign_key "decidim_authorizations", "decidim_users" add_foreign_key "decidim_categorizations", "decidim_categories" + add_foreign_key "decidim_consultations_responses", "decidim_consultations_questions", column: "decidim_consultations_questions_id" + add_foreign_key "decidim_consultations_votes", "decidim_consultations_responses" add_foreign_key "decidim_identities", "decidim_organizations" add_foreign_key "decidim_newsletters", "decidim_users", column: "author_id" add_foreign_key "decidim_participatory_process_steps", "decidim_participatory_processes"