Skip to content

Instantly share code, notes, and snippets.

@takahashim
Created August 7, 2025 08:27
Show Gist options
  • Save takahashim/4f8da1e9e1f8f39f6986246a2da2c924 to your computer and use it in GitHub Desktop.
Save takahashim/4f8da1e9e1f8f39f6986246a2da2c924 to your computer and use it in GitHub Desktop.
--- db/schema.rb 2025-08-07 16:54:14
+++ ../../decidim-cfj/scheme-v30.rb 2025-08-07 17:24:08
@@ -10,9 +10,10 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema[7.0].define(version: 2025_08_07_076037) do
+ActiveRecord::Schema[7.0].define(version: 2025_08_05_081192) do
# These are extensions that must be enabled in order to support this database
enable_extension "ltree"
+ enable_extension "pg_bigm"
enable_extension "pg_trgm"
enable_extension "plpgsql"
@@ -317,6 +318,56 @@
t.index ["unique_id"], name: "index_decidim_authorizations_on_unique_id"
end
+ create_table "decidim_awesome_config", force: :cascade do |t|
+ t.string "var"
+ t.jsonb "value"
+ t.integer "decidim_organization_id"
+ t.datetime "created_at", precision: nil, null: false
+ t.datetime "updated_at", precision: nil, null: false
+ t.index ["decidim_organization_id"], name: "index_decidim_awesome_on_decidim_organization_id"
+ t.index ["var", "decidim_organization_id"], name: "index_decidim_awesome_organization_var", unique: true
+ end
+
+ create_table "decidim_awesome_config_constraints", force: :cascade do |t|
+ t.jsonb "settings"
+ t.bigint "decidim_awesome_config_id", null: false
+ t.datetime "created_at", precision: nil, null: false
+ t.datetime "updated_at", precision: nil, null: false
+ t.index ["decidim_awesome_config_id"], name: "decidim_awesome_config_constraints_config"
+ t.index ["settings", "decidim_awesome_config_id"], name: "index_decidim_awesome_settings_awesome_config", unique: true
+ end
+
+ create_table "decidim_awesome_editor_images", force: :cascade do |t|
+ t.string "image"
+ t.string "path"
+ t.bigint "decidim_author_id", null: false
+ t.bigint "decidim_organization_id", null: false
+ t.datetime "created_at", precision: nil, null: false
+ t.datetime "updated_at", precision: nil, null: false
+ t.index ["decidim_author_id"], name: "decidim_awesome_editor_images_author"
+ t.index ["decidim_organization_id"], name: "decidim_awesome_editor_images_constraint_organization"
+ end
+
+ create_table "decidim_awesome_proposal_extra_fields", force: :cascade do |t|
+ t.bigint "decidim_proposal_id", null: false
+ t.jsonb "vote_weight_totals"
+ t.integer "weight_total", default: 0
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.string "private_body"
+ t.string "decidim_proposal_type", null: false
+ t.datetime "private_body_updated_at", precision: nil
+ t.index ["decidim_proposal_id", "decidim_proposal_type"], name: "index_decidim_awesome_proposal_extra_fields_on_decidim_proposal"
+ end
+
+ create_table "decidim_awesome_vote_weights", force: :cascade do |t|
+ t.bigint "proposal_vote_id", null: false
+ t.integer "weight", default: 1, null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["proposal_vote_id"], name: "decidim_awesome_proposals_weights_vote"
+ end
+
create_table "decidim_blogs_posts", id: :serial, force: :cascade do |t|
t.jsonb "title"
t.jsonb "body"
@@ -476,156 +527,13 @@
t.datetime "published_at", precision: nil
t.datetime "created_at", precision: nil, null: false
t.datetime "updated_at", precision: nil, null: false
+ t.string "participatory_space_type", null: false
t.boolean "visible", default: true
t.datetime "deleted_at"
- t.string "participatory_space_type", null: false
t.index ["deleted_at"], name: "index_decidim_components_on_deleted_at"
t.index ["participatory_space_id", "participatory_space_type"], name: "index_decidim_components_on_decidim_participatory_space"
end
- create_table "decidim_conference_speaker_conference_meetings", force: :cascade do |t|
- t.bigint "conference_speaker_id", null: false
- t.bigint "conference_meeting_id", null: false
- t.index ["conference_meeting_id"], name: "index_meetings_on_decidim_conference_meeting_id"
- t.index ["conference_speaker_id"], name: "index_meetings_on_decidim_conference_speaker_id"
- end
-
- create_table "decidim_conference_speakers", force: :cascade do |t|
- t.bigint "decidim_conference_id"
- t.string "full_name"
- t.jsonb "position"
- t.jsonb "affiliation"
- t.string "twitter_handle"
- t.jsonb "short_bio"
- t.string "personal_url"
- t.string "avatar"
- t.bigint "decidim_user_id"
- t.datetime "created_at", precision: nil, null: false
- t.datetime "updated_at", precision: nil, null: false
- t.datetime "published_at"
- t.index ["decidim_conference_id"], name: "index_decidim_conference_speakers_on_decidim_conference_id"
- t.index ["decidim_user_id"], name: "index_decidim_conference_speaker_on_decidim_user_id"
- end
-
- create_table "decidim_conference_user_roles", force: :cascade do |t|
- t.integer "decidim_user_id"
- t.integer "decidim_conference_id"
- t.string "role"
- t.datetime "created_at", precision: nil, null: false
- t.datetime "updated_at", precision: nil, null: false
- t.index ["decidim_conference_id", "decidim_user_id", "role"], name: "index_unique_user_and_conference_role", unique: true
- end
-
- create_table "decidim_conferences", force: :cascade do |t|
- t.jsonb "title", null: false
- t.jsonb "slogan", null: false
- t.string "slug", null: false
- t.string "hashtag"
- t.string "reference"
- t.string "location"
- t.integer "decidim_organization_id"
- t.jsonb "short_description", null: false
- t.jsonb "description", null: false
- t.string "hero_image"
- t.string "banner_image"
- t.boolean "promoted", default: false
- t.datetime "published_at", precision: nil
- t.jsonb "objectives", null: false
- t.boolean "show_statistics", default: false
- t.date "start_date"
- t.date "end_date"
- t.boolean "scopes_enabled", default: true, null: false
- t.integer "decidim_scope_id"
- t.boolean "registrations_enabled", default: false, null: false
- t.integer "available_slots", default: 0, null: false
- t.jsonb "registration_terms"
- t.datetime "created_at", precision: nil, null: false
- t.datetime "updated_at", precision: nil, null: false
- t.string "signature_name"
- t.string "signature"
- t.string "main_logo"
- t.date "sign_date"
- t.datetime "diploma_sent_at", precision: nil
- t.integer "follows_count", default: 0, null: false
- t.integer "weight", default: 0, null: false
- t.datetime "deleted_at"
- t.index ["decidim_organization_id", "slug"], name: "index_unique_conference_slug_and_organization", unique: true
- t.index ["decidim_organization_id"], name: "index_decidim_conferences_on_decidim_organization_id"
- t.index ["decidim_scope_id"], name: "index_decidim_conferences_on_decidim_scope_id"
- t.index ["deleted_at"], name: "index_decidim_conferences_on_deleted_at"
- end
-
- create_table "decidim_conferences_conference_invites", force: :cascade do |t|
- t.bigint "decidim_user_id", null: false
- t.bigint "decidim_conference_id", null: false
- t.datetime "sent_at", precision: nil
- t.datetime "accepted_at", precision: nil
- t.datetime "rejected_at", precision: nil
- t.datetime "created_at", precision: nil, null: false
- t.datetime "updated_at", precision: nil, null: false
- t.integer "decidim_conference_registration_type_id"
- t.index ["decidim_conference_id"], name: "idx_decidim_conferences_invites_on_conference_id"
- t.index ["decidim_conference_registration_type_id"], name: "ixd_conferences_on_registration_type_id"
- t.index ["decidim_user_id"], name: "index_decidim_conferences_conference_invites_on_decidim_user_id"
- end
-
- create_table "decidim_conferences_conference_meeting_registration_types", force: :cascade do |t|
- t.bigint "registration_type_id", null: false
- t.bigint "conference_meeting_id", null: false
- t.index ["conference_meeting_id"], name: "index_registrations_on_decidim_conference_meeting_id"
- t.index ["registration_type_id"], name: "index_meetings_on_decidim_registration_type_id"
- end
-
- create_table "decidim_conferences_conference_registrations", force: :cascade do |t|
- t.bigint "decidim_user_id", null: false
- t.bigint "decidim_conference_id", null: false
- t.datetime "created_at", precision: nil, null: false
- t.datetime "updated_at", precision: nil, null: false
- t.integer "decidim_conference_registration_type_id"
- t.datetime "confirmed_at", precision: nil
- t.index ["decidim_conference_id"], name: "index_conferences_registrations_on_decidim_conference"
- t.index ["decidim_conference_registration_type_id"], name: "idx_conferences_registrations_on_registration_type_id"
- t.index ["decidim_user_id", "decidim_conference_id"], name: "decidim_conferences_registrations_user_conference_unique", unique: true
- t.index ["decidim_user_id"], name: "index_decidim_conferences_registrations_on_decidim_user_id"
- end
-
- create_table "decidim_conferences_media_links", force: :cascade do |t|
- t.bigint "decidim_conference_id"
- t.jsonb "title", null: false
- t.string "link", null: false
- t.date "date"
- t.integer "weight", default: 0, null: false
- t.datetime "created_at", precision: nil, null: false
- t.datetime "updated_at", precision: nil, null: false
- t.index ["decidim_conference_id"], name: "index_decidim_conferences_media_links_on_decidim_conference_id"
- end
-
- create_table "decidim_conferences_partners", force: :cascade do |t|
- t.bigint "decidim_conference_id"
- t.string "name", null: false
- t.string "partner_type", null: false
- t.integer "weight", default: 0, null: false
- t.string "link"
- t.string "logo"
- t.datetime "created_at", precision: nil, null: false
- t.datetime "updated_at", precision: nil, null: false
- t.index ["decidim_conference_id"], name: "index_decidim_conferences_partners_on_decidim_conference_id"
- t.index ["weight", "partner_type"], name: "index_decidim_conferences_partners_on_weight_and_partner_type"
- end
-
- create_table "decidim_conferences_registration_types", force: :cascade do |t|
- t.bigint "decidim_conference_id"
- t.jsonb "title", null: false
- t.jsonb "description", null: false
- t.decimal "price", precision: 8, scale: 2, default: "0.0"
- t.integer "weight", default: 0, null: false
- t.datetime "published_at", precision: nil
- t.datetime "created_at", precision: nil, null: false
- t.datetime "updated_at", precision: nil, null: false
- t.index ["decidim_conference_id"], name: "idx_registration_types_on_decidim_conference_id"
- t.index ["published_at"], name: "index_decidim_conferences_registration_types_on_published_at"
- end
-
create_table "decidim_content_block_attachments", force: :cascade do |t|
t.string "name"
t.bigint "decidim_content_block_id", null: false
@@ -858,111 +766,6 @@
t.index ["decidim_user_id"], name: "index_decidim_impersonation_logs_on_decidim_user_id"
end
- create_table "decidim_initiatives", force: :cascade do |t|
- t.jsonb "title", null: false
- t.jsonb "description", null: false
- t.integer "decidim_organization_id"
- t.bigint "decidim_author_id", null: false
- t.datetime "published_at", precision: nil
- t.integer "state", default: 0, null: false
- t.integer "signature_type", default: 0, null: false
- t.date "signature_start_date"
- t.date "signature_end_date"
- t.jsonb "answer"
- t.datetime "answered_at", precision: nil
- t.string "answer_url"
- t.datetime "created_at", precision: nil, null: false
- t.datetime "updated_at", precision: nil, null: false
- t.integer "decidim_user_group_id"
- t.string "hashtag"
- t.integer "scoped_type_id"
- t.datetime "first_progress_notification_at", precision: nil
- t.datetime "second_progress_notification_at", precision: nil
- t.string "decidim_author_type", null: false
- t.string "reference"
- t.jsonb "online_votes", default: {}
- t.jsonb "offline_votes", default: {}
- t.bigint "decidim_area_id"
- t.integer "comments_count", default: 0, null: false
- t.integer "follows_count", default: 0, null: false
- t.index "md5((description)::text)", name: "decidim_initiatives_description_search"
- t.index ["answered_at"], name: "index_decidim_initiatives_on_answered_at"
- t.index ["decidim_area_id"], name: "index_decidim_initiatives_on_decidim_area_id"
- t.index ["decidim_author_id", "decidim_author_type"], name: "index_decidim_initiatives_on_decidim_author"
- t.index ["decidim_organization_id"], name: "index_decidim_initiatives_on_decidim_organization_id"
- t.index ["decidim_user_group_id"], name: "index_decidim_initiatives_on_decidim_user_group_id"
- t.index ["published_at"], name: "index_decidim_initiatives_on_published_at"
- t.index ["scoped_type_id"], name: "index_decidim_initiatives_on_scoped_type_id"
- t.index ["title"], name: "decidim_initiatives_title_search"
- end
-
- create_table "decidim_initiatives_committee_members", force: :cascade do |t|
- t.bigint "decidim_initiatives_id"
- t.bigint "decidim_users_id"
- t.integer "state", default: 0, null: false
- t.datetime "created_at", precision: nil, null: false
- t.datetime "updated_at", precision: nil, null: false
- t.index ["decidim_initiatives_id"], name: "index_decidim_committee_members_initiative"
- t.index ["decidim_users_id"], name: "index_decidim_committee_members_user"
- t.index ["state"], name: "index_decidim_initiatives_committee_members_on_state"
- end
-
- create_table "decidim_initiatives_settings", force: :cascade do |t|
- t.string "initiatives_order", default: "random"
- t.bigint "decidim_organization_id"
- t.index ["decidim_organization_id"], name: "index_decidim_initiatives_settings_on_decidim_organization_id"
- end
-
- create_table "decidim_initiatives_type_scopes", force: :cascade do |t|
- t.bigint "decidim_initiatives_types_id"
- t.bigint "decidim_scopes_id"
- t.integer "supports_required", null: false
- t.datetime "created_at", precision: nil, null: false
- t.datetime "updated_at", precision: nil, null: false
- t.bigint "decidim_taxonomy_id"
- t.index ["decidim_initiatives_types_id"], name: "idx_scoped_initiative_type_type"
- t.index ["decidim_scopes_id"], name: "idx_scoped_initiative_type_scope"
- t.index ["decidim_taxonomy_id"], name: "index_decidim_initiatives_type_scopes_on_decidim_taxonomy_id"
- end
-
- create_table "decidim_initiatives_types", force: :cascade do |t|
- t.jsonb "title", null: false
- t.jsonb "description", null: false
- t.integer "decidim_organization_id"
- t.datetime "created_at", precision: nil, null: false
- t.datetime "updated_at", precision: nil, null: false
- t.string "banner_image"
- t.boolean "collect_user_extra_fields", default: false
- t.jsonb "extra_fields_legal_information"
- t.integer "minimum_committee_members"
- t.boolean "validate_sms_code_on_votes", default: false
- t.string "document_number_authorization_handler"
- t.boolean "undo_online_signatures_enabled", default: true, null: false
- t.boolean "promoting_committee_enabled", default: true, null: false
- t.integer "signature_type", default: 0, null: false
- t.boolean "child_scope_threshold_enabled", default: false, null: false
- t.boolean "only_global_scope_enabled", default: false, null: false
- t.boolean "custom_signature_end_date_enabled", default: false, null: false
- t.boolean "attachments_enabled", default: false, null: false
- t.boolean "area_enabled", default: false, null: false
- t.boolean "comments_enabled", default: true, null: false
- t.index ["decidim_organization_id"], name: "index_decidim_initiative_types_on_decidim_organization_id"
- end
-
- create_table "decidim_initiatives_votes", force: :cascade do |t|
- t.bigint "decidim_initiative_id", null: false
- t.bigint "decidim_author_id", null: false
- t.datetime "created_at", precision: nil, null: false
- t.datetime "updated_at", precision: nil, null: false
- t.text "encrypted_metadata"
- t.string "timestamp"
- t.string "hash_id"
- t.integer "decidim_scope_id"
- t.index ["decidim_author_id"], name: "index_decidim_initiatives_votes_on_decidim_author_id"
- t.index ["decidim_initiative_id"], name: "index_decidim_initiatives_votes_on_decidim_initiative_id"
- t.index ["hash_id"], name: "index_decidim_initiatives_votes_on_hash_id"
- end
-
create_table "decidim_meetings_agenda_items", force: :cascade do |t|
t.bigint "decidim_agenda_id"
t.integer "position"
@@ -1064,12 +867,12 @@
t.string "decidim_author_type"
t.integer "decidim_user_group_id"
t.integer "comments_count", default: 0, null: false
+ t.string "salt"
t.string "online_meeting_url"
t.string "registration_url"
- t.string "salt"
+ t.integer "follows_count", default: 0, null: false
t.boolean "customize_registration_email", default: false
t.jsonb "registration_email_custom_content"
- t.integer "follows_count", default: 0, null: false
t.datetime "published_at", precision: nil
t.string "video_url"
t.string "audio_url"
@@ -1215,6 +1018,34 @@
t.index ["report_count"], name: "decidim_moderations_report_count"
end
+ create_table "decidim_navigation_maps_blueprint_areas", force: :cascade do |t|
+ t.jsonb "area"
+ t.bigint "decidim_navigation_maps_blueprint_id", null: false
+ t.jsonb "title", default: {}
+ t.jsonb "description", default: {}
+ t.string "area_type"
+ t.string "link"
+ t.datetime "created_at", precision: nil, null: false
+ t.datetime "updated_at", precision: nil, null: false
+ t.string "link_type"
+ t.string "area_id"
+ t.string "color"
+ t.index ["decidim_navigation_maps_blueprint_id"], name: "decidim_navigation_maps_constraint_blueprint_id"
+ end
+
+ create_table "decidim_navigation_maps_blueprints", force: :cascade do |t|
+ t.string "image"
+ t.bigint "decidim_organization_id", null: false
+ t.datetime "created_at", precision: nil, null: false
+ t.datetime "updated_at", precision: nil, null: false
+ t.jsonb "title", default: {}
+ t.jsonb "description", default: {}
+ t.bigint "decidim_content_block_id"
+ t.integer "height", default: 475, null: false
+ t.index ["decidim_content_block_id"], name: "decidim_navigation_maps_constraint_content_block"
+ t.index ["decidim_organization_id"], name: "decidim_navigation_maps_constraint_organization"
+ end
+
create_table "decidim_newsletters", id: :serial, force: :cascade do |t|
t.jsonb "subject"
t.integer "organization_id"
@@ -1293,8 +1124,8 @@
t.string "time_zone", limit: 255, default: "UTC"
t.boolean "enable_machine_translations", default: false
t.integer "comments_max_length", default: 1000
- t.jsonb "file_upload_settings"
t.string "machine_translation_display_priority", default: "original", null: false
+ t.jsonb "file_upload_settings"
t.string "external_domain_allowlist", default: [], array: true
t.boolean "enable_participatory_space_filters", default: true
t.jsonb "content_security_policy", default: {}
@@ -1541,8 +1372,8 @@
t.datetime "published_at", precision: nil
t.integer "proposal_notes_count", default: 0, null: false
t.integer "coauthorships_count", default: 0, null: false
- t.string "participatory_text_level"
t.integer "position"
+ t.string "participatory_text_level"
t.boolean "created_in_meeting", default: false
t.integer "endorsements_count", default: 0, null: false
t.decimal "cost"
@@ -1554,9 +1385,9 @@
t.integer "comments_count", default: 0, null: false
t.integer "follows_count", default: 0, null: false
t.integer "old_state", default: 0, null: false
+ t.integer "valuation_assignments_count", default: 0
t.datetime "withdrawn_at", precision: nil
t.integer "decidim_proposals_proposal_state_id"
- t.integer "valuation_assignments_count", default: 0
t.datetime "deleted_at"
t.index "md5((body)::text)", name: "decidim_proposals_proposal_body_search"
t.index "md5((title)::text)", name: "decidim_proposals_proposal_title_search"
@@ -1864,6 +1695,28 @@
t.index ["templatable_type", "templatable_id"], name: "index_decidim_templates_templatable"
end
+ create_table "decidim_term_customizer_constraints", force: :cascade do |t|
+ t.bigint "decidim_organization_id", null: false
+ t.string "subject_type"
+ t.bigint "subject_id"
+ t.bigint "translation_set_id", null: false
+ t.index ["decidim_organization_id"], name: "decidim_term_customizer_constraint_organization"
+ t.index ["subject_type", "subject_id"], name: "decidim_term_customizer_constraint_subject"
+ t.index ["translation_set_id"], name: "decidim_term_customizer_constraint_translation_set"
+ end
+
+ create_table "decidim_term_customizer_translation_sets", force: :cascade do |t|
+ t.jsonb "name"
+ end
+
+ create_table "decidim_term_customizer_translations", force: :cascade do |t|
+ t.string "locale"
+ t.string "key"
+ t.text "value"
+ t.bigint "translation_set_id", null: false
+ t.index ["translation_set_id"], name: "decidim_term_customizer_translation_translation_set"
+ end
+
create_table "decidim_user_blocks", force: :cascade do |t|
t.bigint "decidim_user_id"
t.integer "blocking_user_id"
@@ -1952,7 +1805,10 @@
t.string "unlock_token"
t.datetime "locked_at", precision: nil
t.string "session_token"
- t.string "direct_message_types", default: "all", null: false
+ t.string "direct_message_types", default: "followed-only", null: false
+ t.datetime "officialized_at", precision: nil
+ t.jsonb "officialized_as"
+ t.datetime "admin_terms_accepted_at", precision: nil
t.boolean "blocked", default: false, null: false
t.datetime "blocked_at", precision: nil
t.integer "block_id"
@@ -1963,9 +1819,6 @@
t.datetime "digest_sent_at", precision: nil
t.datetime "password_updated_at", precision: nil
t.string "previous_passwords", default: [], array: true
- t.datetime "officialized_at", precision: nil
- t.jsonb "officialized_as"
- t.datetime "admin_terms_accepted_at", precision: nil
t.boolean "email_on_assigned_proposals", default: true
t.index ["confirmation_token"], name: "index_decidim_users_on_confirmation_token", unique: true
t.index ["decidim_organization_id"], name: "index_decidim_users_on_decidim_organization_id"
@@ -2076,6 +1929,9 @@
add_foreign_key "decidim_authorization_transfers", "decidim_users", column: "source_user_id"
add_foreign_key "decidim_authorization_transfers", "decidim_users", column: "user_id"
add_foreign_key "decidim_authorizations", "decidim_users"
+ add_foreign_key "decidim_awesome_config_constraints", "decidim_awesome_config"
+ add_foreign_key "decidim_awesome_editor_images", "decidim_organizations"
+ add_foreign_key "decidim_awesome_editor_images", "decidim_users", column: "decidim_author_id"
add_foreign_key "decidim_budgets_budgets", "decidim_scopes"
add_foreign_key "decidim_budgets_orders", "decidim_budgets_budgets"
add_foreign_key "decidim_budgets_projects", "decidim_budgets_budgets"
@@ -2084,7 +1940,9 @@
add_foreign_key "decidim_editor_images", "decidim_organizations"
add_foreign_key "decidim_editor_images", "decidim_users", column: "decidim_author_id"
add_foreign_key "decidim_identities", "decidim_organizations"
- add_foreign_key "decidim_initiatives_settings", "decidim_organizations"
+ add_foreign_key "decidim_navigation_maps_blueprint_areas", "decidim_navigation_maps_blueprints"
+ add_foreign_key "decidim_navigation_maps_blueprints", "decidim_content_blocks"
+ add_foreign_key "decidim_navigation_maps_blueprints", "decidim_organizations"
add_foreign_key "decidim_newsletters", "decidim_users", column: "author_id"
add_foreign_key "decidim_participatory_process_steps", "decidim_participatory_processes"
add_foreign_key "decidim_participatory_process_types", "decidim_organizations"
@@ -2103,6 +1961,9 @@
add_foreign_key "decidim_static_pages", "decidim_organizations"
add_foreign_key "decidim_taxonomy_filter_items", "decidim_taxonomies", column: "taxonomy_item_id"
add_foreign_key "decidim_taxonomy_filters", "decidim_taxonomies", column: "root_taxonomy_id"
+ add_foreign_key "decidim_term_customizer_constraints", "decidim_organizations"
+ add_foreign_key "decidim_term_customizer_constraints", "decidim_term_customizer_translation_sets", column: "translation_set_id"
+ add_foreign_key "decidim_term_customizer_translations", "decidim_term_customizer_translation_sets", column: "translation_set_id"
add_foreign_key "decidim_user_blocks", "decidim_users"
add_foreign_key "decidim_user_blocks", "decidim_users", column: "blocking_user_id"
add_foreign_key "decidim_user_moderations", "decidim_users"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment