diff options
| -rw-r--r-- | app/models/referential.rb | 2 | ||||
| -rw-r--r-- | app/models/referential_suite.rb | 2 | ||||
| -rw-r--r-- | db/migrate/20170922165315_add_referential_suite_to_referentials.rb | 8 | ||||
| -rw-r--r-- | db/schema.rb | 5 | ||||
| -rw-r--r-- | spec/models/referential_spec.rb | 1 | ||||
| -rw-r--r-- | spec/models/referential_suite_spec.rb | 1 |
6 files changed, 18 insertions, 1 deletions
diff --git a/app/models/referential.rb b/app/models/referential.rb index af08aa868..c7b52ddf8 100644 --- a/app/models/referential.rb +++ b/app/models/referential.rb @@ -45,6 +45,8 @@ class Referential < ActiveRecord::Base has_many :stop_areas, through: :stop_area_referential belongs_to :workbench + belongs_to :referential_suite + scope :ready, -> { where(ready: true) } scope :in_periode, ->(periode) { where(id: referential_ids_in_periode(periode)) } scope :include_metadatas_lines, ->(line_ids) { where('referential_metadata.line_ids && ARRAY[?]::bigint[]', line_ids) } diff --git a/app/models/referential_suite.rb b/app/models/referential_suite.rb index c2f40913e..9fd25ef3f 100644 --- a/app/models/referential_suite.rb +++ b/app/models/referential_suite.rb @@ -1,4 +1,6 @@ class ReferentialSuite < ActiveRecord::Base belongs_to :new, class_name: 'Referential' belongs_to :current, class_name: 'Referential' + + has_many :referentials end diff --git a/db/migrate/20170922165315_add_referential_suite_to_referentials.rb b/db/migrate/20170922165315_add_referential_suite_to_referentials.rb new file mode 100644 index 000000000..a01ba4d40 --- /dev/null +++ b/db/migrate/20170922165315_add_referential_suite_to_referentials.rb @@ -0,0 +1,8 @@ +class AddReferentialSuiteToReferentials < ActiveRecord::Migration + def change + add_reference :referentials, :referential_suite, + index: true, + foreign_key: true, + type: :bigint + end +end diff --git a/db/schema.rb b/db/schema.rb index 43abbd3af..89f002aee 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170922161352) do +ActiveRecord::Schema.define(version: 20170922165315) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -632,9 +632,11 @@ ActiveRecord::Schema.define(version: 20170922161352) do t.datetime "archived_at" t.integer "created_from_id", limit: 8 t.boolean "ready", default: false + t.integer "referential_suite_id", limit: 8 end add_index "referentials", ["created_from_id"], name: "index_referentials_on_created_from_id", using: :btree + add_index "referentials", ["referential_suite_id"], name: "index_referentials_on_referential_suite_id", using: :btree create_table "route_sections", id: :bigserial, force: :cascade do |t| t.integer "departure_id", limit: 8 @@ -997,6 +999,7 @@ ActiveRecord::Schema.define(version: 20170922161352) do add_foreign_key "journey_patterns", "stop_points", column: "departure_stop_point_id", name: "departure_point_fkey", on_delete: :nullify add_foreign_key "journey_patterns_stop_points", "journey_patterns", name: "jpsp_jp_fkey", on_delete: :cascade add_foreign_key "journey_patterns_stop_points", "stop_points", name: "jpsp_stoppoint_fkey", on_delete: :cascade + add_foreign_key "referentials", "referential_suites" add_foreign_key "route_sections", "stop_areas", column: "arrival_id" add_foreign_key "route_sections", "stop_areas", column: "departure_id" add_foreign_key "routes", "routes", column: "opposite_route_id", name: "route_opposite_route_fkey" diff --git a/spec/models/referential_spec.rb b/spec/models/referential_spec.rb index f9ace08cc..bb8fabb2e 100644 --- a/spec/models/referential_spec.rb +++ b/spec/models/referential_spec.rb @@ -10,6 +10,7 @@ describe Referential, :type => :model do it { should have_many(:metadatas) } it { should belong_to(:workbench) } + it { should belong_to(:referential_suite) } context ".referential_ids_in_periode" do it 'should retrieve referential id in periode range' do diff --git a/spec/models/referential_suite_spec.rb b/spec/models/referential_suite_spec.rb index 73a616ae1..771187b55 100644 --- a/spec/models/referential_suite_spec.rb +++ b/spec/models/referential_suite_spec.rb @@ -1,4 +1,5 @@ RSpec.describe ReferentialSuite, type: :model do it { should belong_to(:new).class_name('Referential') } it { should belong_to(:current).class_name('Referential') } + it { should have_many(:referentials) } end |
