Signed-off-by: Scott Seago <sseago(a)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
--
1.6.2.5