Signed-off-by: Scott Seago sseago@redhat.com --- src/app/models/flavor.rb | 4 +++- src/app/models/image.rb | 4 +++- src/app/models/instance.rb | 5 +++++ src/app/models/realm.rb | 4 +++- src/db/migrate/20090804135630_create_flavors.rb | 3 ++- src/db/migrate/20090804140143_create_images.rb | 4 ++-- src/db/migrate/20090804141600_create_realms.rb | 3 ++- src/db/migrate/20090804142049_create_instances.rb | 3 ++- 8 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/src/app/models/flavor.rb b/src/app/models/flavor.rb index 473546c..bead068 100644 --- a/src/app/models/flavor.rb +++ b/src/app/models/flavor.rb @@ -4,8 +4,10 @@ class Flavor < ActiveRecord::Base
validates_presence_of :provider_id
+ validates_presence_of :external_key + validates_uniqueness_of :external_key, :scope => :provider_id + validates_presence_of :name - validates_uniqueness_of :name, :scope => :provider_id
validates_presence_of :storage validates_numericality_of :storage diff --git a/src/app/models/image.rb b/src/app/models/image.rb index 15f4ccb..e7d0679 100644 --- a/src/app/models/image.rb +++ b/src/app/models/image.rb @@ -4,8 +4,10 @@ class Image < ActiveRecord::Base
validates_presence_of :provider_id
+ validates_presence_of :external_key + validates_uniqueness_of :external_key, :scope => :provider_id + validates_presence_of :name - validates_uniqueness_of :name, :scope => :provider_id
validates_presence_of :description validates_presence_of :architecture diff --git a/src/app/models/instance.rb b/src/app/models/instance.rb index 1ac167e..7d2cb9b 100644 --- a/src/app/models/instance.rb +++ b/src/app/models/instance.rb @@ -6,6 +6,11 @@ class Instance < ActiveRecord::Base
validates_presence_of :portal_pool_id
+ validates_presence_of :external_key + # TODO: can we do uniqueness validation on indirect association + # -- portal_pool.account.provider + #validates_uniqueness_of :external_key, :scope => :provider_id + validates_presence_of :name validates_uniqueness_of :name, :scope => :portal_pool_id
diff --git a/src/app/models/realm.rb b/src/app/models/realm.rb index 130ceb2..3d2dc66 100644 --- a/src/app/models/realm.rb +++ b/src/app/models/realm.rb @@ -4,7 +4,9 @@ class Realm < ActiveRecord::Base
validates_presence_of :provider_id
+ validates_presence_of :external_key + validates_uniqueness_of :external_key, :scope => :provider_id + validates_presence_of :name - validates_uniqueness_of :name, :scope => :provider_id
end diff --git a/src/db/migrate/20090804135630_create_flavors.rb b/src/db/migrate/20090804135630_create_flavors.rb index cdc34e3..7f8538b 100644 --- a/src/db/migrate/20090804135630_create_flavors.rb +++ b/src/db/migrate/20090804135630_create_flavors.rb @@ -1,7 +1,8 @@ class CreateFlavors < ActiveRecord::Migration def self.up create_table :flavors do |t| - t.string :name, :null => false + t.string :external_key, :null => false + t.string :name, :null => false, :limit => 1024 t.integer :memory, :null => false t.integer :storage, :null => false t.string :architecture, :null => false diff --git a/src/db/migrate/20090804140143_create_images.rb b/src/db/migrate/20090804140143_create_images.rb index 0163ec7..62fcc2e 100644 --- a/src/db/migrate/20090804140143_create_images.rb +++ b/src/db/migrate/20090804140143_create_images.rb @@ -1,8 +1,8 @@ class CreateImages < ActiveRecord::Migration def self.up create_table :images do |t| - t.string :name, :null => false - t.string :description, :null => false + t.string :external_key, :null => false + t.string :name, :null => false, :limit => 1024 t.string :architecture, :null => false t.integer :provider_id, :null => false t.integer :lock_version, :default => 0 diff --git a/src/db/migrate/20090804141600_create_realms.rb b/src/db/migrate/20090804141600_create_realms.rb index 7ece640..9a9c154 100644 --- a/src/db/migrate/20090804141600_create_realms.rb +++ b/src/db/migrate/20090804141600_create_realms.rb @@ -1,7 +1,8 @@ class CreateRealms < ActiveRecord::Migration def self.up create_table :realms do |t| - t.string :name, :null => false + t.string :external_key, :null => false + t.string :name, :null => false, :limit => 1024 t.integer :provider_id, :null => false t.integer :lock_version, :default => 0 t.timestamps diff --git a/src/db/migrate/20090804142049_create_instances.rb b/src/db/migrate/20090804142049_create_instances.rb index 57ee511..82f574e 100644 --- a/src/db/migrate/20090804142049_create_instances.rb +++ b/src/db/migrate/20090804142049_create_instances.rb @@ -1,7 +1,8 @@ class CreateInstances < ActiveRecord::Migration def self.up create_table :instances do |t| - t.string :name, :null => false + t.string :external_key, :null => false + t.string :name, :null => false, :limit => 1024 t.integer :flavor_id, :null => false t.integer :image_id, :null => false t.integer :realm_id
deltacloud-devel@lists.fedorahosted.org