diff --git a/app/controllers/admin/nameservers_controller.rb b/app/controllers/admin/nameservers_controller.rb index 4ab1fca5e..32d0ced83 100644 --- a/app/controllers/admin/nameservers_controller.rb +++ b/app/controllers/admin/nameservers_controller.rb @@ -1,5 +1,4 @@ class Admin::NameserversController < ApplicationController - # TODO: Refactor this to domain_nameservers controller! before_action :set_domain before_action :set_nameserver, only: [:edit, :update, :destroy] diff --git a/app/models/domain.rb b/app/models/domain.rb index ded069c03..ec632ffaa 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -14,8 +14,7 @@ class Domain < ActiveRecord::Base where(domain_contacts: { contact_type: DomainContact::ADMIN }) end, through: :domain_contacts, source: :contact - has_many :domain_nameservers, dependent: :delete_all - has_many :nameservers, through: :domain_nameservers + has_many :nameservers, dependent: :delete_all has_many :domain_statuses, dependent: :delete_all diff --git a/app/models/domain_nameserver.rb b/app/models/domain_nameserver.rb deleted file mode 100644 index b30505a96..000000000 --- a/app/models/domain_nameserver.rb +++ /dev/null @@ -1,4 +0,0 @@ -class DomainNameserver < ActiveRecord::Base - belongs_to :domain - belongs_to :nameserver -end diff --git a/app/models/nameserver.rb b/app/models/nameserver.rb index b679fbc40..c52ba6b1b 100644 --- a/app/models/nameserver.rb +++ b/app/models/nameserver.rb @@ -6,9 +6,7 @@ class Nameserver < ActiveRecord::Base } belongs_to :registrar - - has_many :domain_nameservers, dependent: :delete_all - has_many :domains, through: :domain_nameservers + belongs_to :domain validates :hostname, format: { with: /\A(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])\z/ } validates :ipv4, format: { with: /\A(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\z/, allow_blank: true } diff --git a/db/migrate/20140911101310_add_domain_directly_to_nameserver.rb b/db/migrate/20140911101310_add_domain_directly_to_nameserver.rb new file mode 100644 index 000000000..f1fc372f1 --- /dev/null +++ b/db/migrate/20140911101310_add_domain_directly_to_nameserver.rb @@ -0,0 +1,8 @@ +class AddDomainDirectlyToNameserver < ActiveRecord::Migration + def change + add_column :nameservers, :domain_id, :integer + remove_column :nameservers, :ns_set_id + drop_table :nameservers_ns_sets + drop_table :ns_sets + end +end diff --git a/db/migrate/20140911101604_clean_redundant_fields.rb b/db/migrate/20140911101604_clean_redundant_fields.rb new file mode 100644 index 000000000..efb0a9a9d --- /dev/null +++ b/db/migrate/20140911101604_clean_redundant_fields.rb @@ -0,0 +1,8 @@ +class CleanRedundantFields < ActiveRecord::Migration + def change + drop_table :domain_nameservers + remove_column :domains, :admin_contact_id + remove_column :domains, :technical_contact_id + remove_column :domains, :ns_set_id + end +end diff --git a/db/schema.rb b/db/schema.rb index 397fffb3c..a3e307efb 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: 20140902121843) do +ActiveRecord::Schema.define(version: 20140911101604) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -77,11 +77,6 @@ ActiveRecord::Schema.define(version: 20140902121843) do t.datetime "updated_at" end - create_table "domain_nameservers", id: false, force: true do |t| - t.integer "domain_id" - t.integer "nameserver_id" - end - create_table "domain_statuses", force: true do |t| t.integer "domain_id" t.string "description" @@ -107,16 +102,13 @@ ActiveRecord::Schema.define(version: 20140902121843) do t.datetime "valid_from" t.datetime "valid_to" t.integer "owner_contact_id" - t.integer "admin_contact_id" - t.integer "technical_contact_id" - t.integer "ns_set_id" t.string "auth_info" t.datetime "created_at" t.datetime "updated_at" t.string "name_dirty" t.string "name_puny" t.integer "period" - t.string "period_unit", limit: 1 + t.string "period_unit", limit: 1 end create_table "epp_sessions", force: true do |t| @@ -143,24 +135,10 @@ ActiveRecord::Schema.define(version: 20140902121843) do create_table "nameservers", force: true do |t| t.string "hostname" t.string "ipv4" - t.integer "ns_set_id" t.datetime "created_at" t.datetime "updated_at" t.string "ipv6" - end - - create_table "nameservers_ns_sets", force: true do |t| - t.integer "nameserver_id" - t.integer "ns_set_id" - end - - create_table "ns_sets", force: true do |t| - t.string "code" - t.integer "registrar_id" - t.string "auth_info" - t.string "report_level" - t.datetime "created_at" - t.datetime "updated_at" + t.integer "domain_id" end create_table "registrars", force: true do |t| diff --git a/spec/models/nameserver_spec.rb b/spec/models/nameserver_spec.rb index f5ba9b790..a15cf1449 100644 --- a/spec/models/nameserver_spec.rb +++ b/spec/models/nameserver_spec.rb @@ -1,5 +1,5 @@ require 'rails_helper' describe Nameserver do - it { should have_and_belong_to_many(:domains) } + it { should belong_to(:domain) } end