Add Datastore type to Backup struct
diff --git a/rackspace/db/v1/backups/fixtures.go b/rackspace/db/v1/backups/fixtures.go
index 92b9c08..a1012aa 100644
--- a/rackspace/db/v1/backups/fixtures.go
+++ b/rackspace/db/v1/backups/fixtures.go
@@ -9,6 +9,28 @@
 	"github.com/rackspace/gophercloud/testhelper/client"
 )
 
+var singleBackup = `
+{
+  "backup": {
+    "created": "2014-02-13T21:47:16",
+    "description": "My Backup",
+    "id": "61f12fef-edb1-4561-8122-e7c00ef26a82",
+    "instance_id": "d4603f69-ec7e-4e9b-803f-600b9205576f",
+    "locationRef": null,
+    "name": "snapshot",
+    "parent_id": null,
+    "size": 100,
+    "status": "NEW",
+		"datastore": {
+			"version": "5.1",
+			"type": "MySQL",
+			"version_id": "20000000-0000-0000-0000-000000000002"
+		},
+    "updated": "2014-02-13T21:47:16"
+  }
+}
+`
+
 func SetupHandler(t *testing.T, url, method, requestBody, responseBody string, status int) {
 	th.Mux.HandleFunc(url, func(w http.ResponseWriter, r *http.Request) {
 		th.TestMethod(t, r, method)
@@ -41,24 +63,7 @@
 }
 `
 
-	responseJSON := `
-{
-  "backup": {
-    "created": "2014-02-13T21:47:16",
-    "description": "My Backup",
-    "id": "61f12fef-edb1-4561-8122-e7c00ef26a82",
-    "instance_id": "d4603f69-ec7e-4e9b-803f-600b9205576f",
-    "locationRef": null,
-    "name": "snapshot",
-    "parent_id": null,
-    "size": 100,
-    "status": "NEW",
-    "updated": "2014-02-13T21:47:16"
-  }
-}
-`
-
-	SetupHandler(t, "/backups", "POST", requestJSON, responseJSON, 202)
+	SetupHandler(t, "/backups", "POST", requestJSON, singleBackup, 202)
 }
 
 func HandleListSuccessfully(t *testing.T) {
@@ -69,7 +74,11 @@
       "status": "COMPLETED",
       "updated": "2014-06-18T21:24:39",
       "description": "Backup from Restored Instance",
-
+      "datastore": {
+        "version": "5.1",
+        "type": "MySQL",
+        "version_id": "20000000-0000-0000-0000-000000000002"
+      },
       "id": "87972694-4be2-40f5-83f8-501656e0032a",
       "size": 0.141026,
       "name": "restored_backup",
@@ -84,3 +93,11 @@
 
 	SetupHandler(t, "/backups", "GET", "", responseJSON, 200)
 }
+
+func HandleGetSuccessfully(t *testing.T, backupID string) {
+	SetupHandler(t, "/backups/"+backupID, "GET", "", singleBackup, 200)
+}
+
+func HandleDeleteSuccessfully(t *testing.T, backupID string) {
+	SetupHandler(t, "/backups/"+backupID, "DELETE", "", "", 202)
+}
diff --git a/rackspace/db/v1/backups/requests_test.go b/rackspace/db/v1/backups/requests_test.go
index 3f7681c..14eacc1 100644
--- a/rackspace/db/v1/backups/requests_test.go
+++ b/rackspace/db/v1/backups/requests_test.go
@@ -8,7 +8,7 @@
 	fake "github.com/rackspace/gophercloud/testhelper/client"
 )
 
-//const instanceID = "{instanceID}"
+const backupID = "61f12fef-edb1-4561-8122-e7c00ef26a82"
 
 func TestCreate(t *testing.T) {
 	th.SetupHTTP()
@@ -36,6 +36,7 @@
 		Size:        100,
 		Status:      "NEW",
 		Updated:     "2014-02-13T21:47:16",
+		Datastore:   Datastore{Version: "5.1", Type: "MySQL", VersionID: "20000000-0000-0000-0000-000000000002"},
 	}
 
 	th.AssertDeepEquals(t, expected, instance)
@@ -66,6 +67,7 @@
 				Size:        0.141026,
 				Status:      "COMPLETED",
 				Updated:     "2014-06-18T21:24:39",
+				Datastore:   Datastore{Version: "5.1", Type: "MySQL", VersionID: "20000000-0000-0000-0000-000000000002"},
 			},
 		}
 
@@ -78,3 +80,39 @@
 		t.Errorf("Expected 1 page, got %d", count)
 	}
 }
+
+func TestGet(t *testing.T) {
+	th.SetupHTTP()
+	defer th.TeardownHTTP()
+
+	HandleGetSuccessfully(t, backupID)
+
+	instance, err := Get(fake.ServiceClient(), backupID).Extract()
+	th.AssertNoErr(t, err)
+
+	expected := &Backup{
+		Created:     "2014-02-13T21:47:16",
+		Description: "My Backup",
+		ID:          "61f12fef-edb1-4561-8122-e7c00ef26a82",
+		InstanceID:  "d4603f69-ec7e-4e9b-803f-600b9205576f",
+		LocationRef: "",
+		Name:        "snapshot",
+		ParentID:    "",
+		Size:        100,
+		Status:      "NEW",
+		Updated:     "2014-02-13T21:47:16",
+		Datastore:   Datastore{Version: "5.1", Type: "MySQL", VersionID: "20000000-0000-0000-0000-000000000002"},
+	}
+
+	th.AssertDeepEquals(t, expected, instance)
+}
+
+func TestDelete(t *testing.T) {
+	th.SetupHTTP()
+	defer th.TeardownHTTP()
+
+	HandleDeleteSuccessfully(t, backupID)
+
+	err := Delete(fake.ServiceClient(), backupID).ExtractErr()
+	th.AssertNoErr(t, err)
+}
diff --git a/rackspace/db/v1/backups/results.go b/rackspace/db/v1/backups/results.go
index 16a3e66..89f1fc6 100644
--- a/rackspace/db/v1/backups/results.go
+++ b/rackspace/db/v1/backups/results.go
@@ -6,6 +6,12 @@
 	"github.com/rackspace/gophercloud/pagination"
 )
 
+type Datastore struct {
+	Version   string
+	Type      string
+	VersionID string `json:"version_id" mapstructure:"version_id"`
+}
+
 type Backup struct {
 	Description string
 	ID          string
@@ -17,6 +23,7 @@
 	Status      string
 	Created     string
 	Updated     string
+	Datastore   Datastore
 }
 
 type CreateResult struct {