Browse Source

added cascading delete to models

pull/726/head
Ted 3 years ago
parent
commit
8120be4fc3
  1. 10
      app/models/organisation.rb
  2. 7
      db/migrate/20220707125124_add_foreign_key_to_user_organisation.rb
  3. 6
      db/migrate/20220707133909_add_foreign_key_to_logs_organisation.rb
  4. 20
      db/migrate/20220707134232_add_relationships_for_organization.rb

10
app/models/organisation.rb

@ -1,11 +1,11 @@
class Organisation < ApplicationRecord class Organisation < ApplicationRecord
has_many :users has_many :users, dependent: :destroy
has_many :owned_case_logs, class_name: "CaseLog", foreign_key: "owning_organisation_id" has_many :owned_case_logs, class_name: "CaseLog", foreign_key: "owning_organisation_id", dependent: :destroy
has_many :managed_case_logs, class_name: "CaseLog", foreign_key: "managing_organisation_id" has_many :managed_case_logs, class_name: "CaseLog", foreign_key: "managing_organisation_id", dependent: :destroy
has_many :data_protection_confirmations has_many :data_protection_confirmations
has_many :organisation_rent_periods has_many :organisation_rent_periods
has_many :owned_schemes, class_name: "Scheme", foreign_key: "stock_owning_organisation_id" has_many :owned_schemes, class_name: "Scheme", foreign_key: "stock_owning_organisation_id", dependent: :destroy
has_many :managed_schemes, class_name: "Scheme" has_many :managed_schemes, class_name: "Scheme", dependent: :destroy
scope :search_by_name, ->(name) { where("name ILIKE ?", "%#{name}%") } scope :search_by_name, ->(name) { where("name ILIKE ?", "%#{name}%") }
scope :search_by, ->(param) { search_by_name(param) } scope :search_by, ->(param) { search_by_name(param) }

7
db/migrate/20220707125124_add_foreign_key_to_user_organisation.rb

@ -0,0 +1,7 @@
class AddForeignKeyToUserOrganisation < ActiveRecord::Migration[7.0]
def change
add_reference :organisations, :users, foreign_key: true, on_delete: :cascade
end
end

6
db/migrate/20220707133909_add_foreign_key_to_logs_organisation.rb

@ -0,0 +1,6 @@
class AddForeignKeyToLogsOrganisation < ActiveRecord::Migration[7.0]
def change
add_reference :organisations, :case_logs, foreign_key: true, on_delete: :cascade
end
end

20
db/migrate/20220707134232_add_relationships_for_organization.rb

@ -0,0 +1,20 @@
class AddRelationshipsForOrganization < ActiveRecord::Migration[7.0]
class Organisation < ApplicationRecord
has_many :users, dependent: :destroy
has_many :case_logs, dependent: :destroy
has_many :schemes, dependent: :destroy
end
class User < ApplicationRecord
belongs_to :organization
end
class CaseLog < ApplicationRecord
belongs_to :organization
end
class CaseLog < ApplicationRecord
belongs_to :organization
end
end
Loading…
Cancel
Save