diff options
| author | Teddy Wing | 2017-09-22 18:47:26 +0200 |
|---|---|---|
| committer | Teddy Wing | 2017-09-22 18:51:16 +0200 |
| commit | 16f01969fedd429b2c7916eafb19a8a9263bce81 (patch) | |
| tree | 2dcf7c9d306e788d6be920c452502e48bb5c4d98 | |
| parent | 82020f683977e7b0373ebfc5c6c2d4549e670990 (diff) | |
| download | chouette-core-16f01969fedd429b2c7916eafb19a8a9263bce81.tar.bz2 | |
Add `ReferentialSuite`
This model is responsible for collecting referentials in order to merge
them into a single referential.
* `new` corresponds to a referential in the process of being validated
* `current` corresponds to the most recently validated referential
Refs #3519
| -rw-r--r-- | app/models/referential_suite.rb | 4 | ||||
| -rw-r--r-- | db/migrate/20170922161352_create_referential_suites.rb | 10 | ||||
| -rw-r--r-- | db/schema.rb | 12 | ||||
| -rw-r--r-- | spec/models/referential_suite_spec.rb | 4 |
4 files changed, 29 insertions, 1 deletions
diff --git a/app/models/referential_suite.rb b/app/models/referential_suite.rb new file mode 100644 index 000000000..c2f40913e --- /dev/null +++ b/app/models/referential_suite.rb @@ -0,0 +1,4 @@ +class ReferentialSuite < ActiveRecord::Base + belongs_to :new, class_name: 'Referential' + belongs_to :current, class_name: 'Referential' +end diff --git a/db/migrate/20170922161352_create_referential_suites.rb b/db/migrate/20170922161352_create_referential_suites.rb new file mode 100644 index 000000000..5a8693d01 --- /dev/null +++ b/db/migrate/20170922161352_create_referential_suites.rb @@ -0,0 +1,10 @@ +class CreateReferentialSuites < ActiveRecord::Migration + def change + create_table :referential_suites do |t| + t.bigint :new_id, index: true + t.bigint :current_id, index: true + + t.timestamps null: false + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 2b62fa7f1..43abbd3af 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: 20170918103913) do +ActiveRecord::Schema.define(version: 20170922161352) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -602,6 +602,16 @@ ActiveRecord::Schema.define(version: 20170918103913) do add_index "referential_metadata", ["referential_id"], name: "index_referential_metadata_on_referential_id", using: :btree add_index "referential_metadata", ["referential_source_id"], name: "index_referential_metadata_on_referential_source_id", using: :btree + create_table "referential_suites", id: :bigserial, force: :cascade do |t| + t.integer "new_id", limit: 8 + t.integer "current_id", limit: 8 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + + add_index "referential_suites", ["current_id"], name: "index_referential_suites_on_current_id", using: :btree + add_index "referential_suites", ["new_id"], name: "index_referential_suites_on_new_id", using: :btree + create_table "referentials", id: :bigserial, force: :cascade do |t| t.string "name" t.string "slug" diff --git a/spec/models/referential_suite_spec.rb b/spec/models/referential_suite_spec.rb new file mode 100644 index 000000000..73a616ae1 --- /dev/null +++ b/spec/models/referential_suite_spec.rb @@ -0,0 +1,4 @@ +RSpec.describe ReferentialSuite, type: :model do + it { should belong_to(:new).class_name('Referential') } + it { should belong_to(:current).class_name('Referential') } +end |
