From: Jan Provaznik jprovazn@redhat.com
--- src/app/models/pool_family.rb | 1 + src/app/models/quota.rb | 1 + .../20110417180833_add_pool_family_quota.rb | 15 +++++++++++++++ src/db/seeds.rb | 2 +- src/spec/factories/pool_family.rb | 1 + 5 files changed, 19 insertions(+), 1 deletions(-) create mode 100644 src/db/migrate/20110417180833_add_pool_family_quota.rb
diff --git a/src/app/models/pool_family.rb b/src/app/models/pool_family.rb index 2eee939..d7241a3 100644 --- a/src/app/models/pool_family.rb +++ b/src/app/models/pool_family.rb @@ -42,6 +42,7 @@ class PoolFamily < ActiveRecord::Base end
has_many :pools, :dependent => :destroy + belongs_to :quota, :dependent => :destroy has_and_belongs_to_many :provider_accounts
validates_length_of :name, :maximum => 255 diff --git a/src/app/models/quota.rb b/src/app/models/quota.rb index 7d67088..b33560c 100644 --- a/src/app/models/quota.rb +++ b/src/app/models/quota.rb @@ -37,6 +37,7 @@ class Quota < ActiveRecord::Base
has_one :pool + has_one :pool_family has_one :provider_account has_one :user
diff --git a/src/db/migrate/20110417180833_add_pool_family_quota.rb b/src/db/migrate/20110417180833_add_pool_family_quota.rb new file mode 100644 index 0000000..e95b4a5 --- /dev/null +++ b/src/db/migrate/20110417180833_add_pool_family_quota.rb @@ -0,0 +1,15 @@ +class AddPoolFamilyQuota < ActiveRecord::Migration + def self.up + add_column :pool_families, :quota_id, :integer + PoolFamily.all.each do |pf| + unless pf.quota + pf.quota = Quota.new + pf.save! + end + end + end + + def self.down + remove_column :pool_families, :quota_id + end +end diff --git a/src/db/seeds.rb b/src/db/seeds.rb index 69be3f4..7ef7c37 100644 --- a/src/db/seeds.rb +++ b/src/db/seeds.rb @@ -1,5 +1,5 @@ # Default Pool Family -PoolFamily.create!(:name => "default", :description => "default pool family") +PoolFamily.create!(:name => "default", :description => "default pool family", :quota => Quota.create)
# Default Pool Pool.create!(:name => "default_pool", :quota => Quota.create, :pool_family => PoolFamily.find_by_name('default')) diff --git a/src/spec/factories/pool_family.rb b/src/spec/factories/pool_family.rb index d0ca8e7..1d9f0a0 100644 --- a/src/spec/factories/pool_family.rb +++ b/src/spec/factories/pool_family.rb @@ -1,4 +1,5 @@ Factory.define :pool_family do |z| z.sequence(:name) { |n| "pool_family#{n}" } z.description 'pool family' + z.association :quota end