diff --git a/app/models/procedure.rb b/app/models/procedure.rb index a7afe1f73..407e44efe 100644 --- a/app/models/procedure.rb +++ b/app/models/procedure.rb @@ -32,6 +32,7 @@ # lien_notice :string # lien_site_web :string # monavis_embed :text +# opendata :boolean default(TRUE) # organisation :string # path :string not null # procedure_expires_when_termine_enabled :boolean default(TRUE) diff --git a/db/migrate/20220622181047_add_opendata_to_procedures.rb b/db/migrate/20220622181047_add_opendata_to_procedures.rb new file mode 100644 index 000000000..2f93f8c50 --- /dev/null +++ b/db/migrate/20220622181047_add_opendata_to_procedures.rb @@ -0,0 +1,10 @@ +class AddOpendataToProcedures < ActiveRecord::Migration[6.1] + def up + add_column :procedures, :opendata, :boolean + change_column_default :procedures, :opendata, true + end + + def down + remove_column :procedures, :opendata + end +end diff --git a/db/migrate/20220622183305_backfill_add_opendata_to_procedures.rb b/db/migrate/20220622183305_backfill_add_opendata_to_procedures.rb new file mode 100644 index 000000000..6882b9224 --- /dev/null +++ b/db/migrate/20220622183305_backfill_add_opendata_to_procedures.rb @@ -0,0 +1,10 @@ +class BackfillAddOpendataToProcedures < ActiveRecord::Migration[6.1] + disable_ddl_transaction! + + def change + Procedure.in_batches do |relation| + relation.update_all opendata: true + sleep(0.01) + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 182a6c01b..01ceabc9d 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: 2022_06_21_160241) do +ActiveRecord::Schema.define(version: 2022_06_22_183305) do # These are extensions that must be enabled in order to support this database enable_extension "pgcrypto" @@ -651,6 +651,7 @@ ActiveRecord::Schema.define(version: 2022_06_21_160241) do t.string "lien_notice" t.string "lien_site_web" t.text "monavis_embed" + t.boolean "opendata", default: true t.string "organisation" t.bigint "parent_procedure_id" t.string "path", null: false diff --git a/spec/models/procedure_spec.rb b/spec/models/procedure_spec.rb index 568e24c81..ddf7a2ff1 100644 --- a/spec/models/procedure_spec.rb +++ b/spec/models/procedure_spec.rb @@ -381,6 +381,14 @@ describe Procedure do end end + describe 'opendata' do + let(:procedure) { create(:procedure) } + + it 'is true by default' do + expect(procedure.opendata).to be_truthy + end + end + describe 'active' do let(:procedure) { create(:procedure) } subject { Procedure.active(procedure.id) }