diff --git a/openstack/db/v1/configurations/fixtures.go b/openstack/db/v1/configurations/fixtures.go
index c3723ab..95784ad 100644
--- a/openstack/db/v1/configurations/fixtures.go
+++ b/openstack/db/v1/configurations/fixtures.go
@@ -34,12 +34,12 @@
 `
 
 var (
-	listConfigsJSON  = fmt.Sprintf(`{"configurations": [%s]}`, singleConfigJSON)
-	getConfigJSON    = fmt.Sprintf(`{"configuration": %s}`, singleConfigJSON)
-	createConfigJSON = fmt.Sprintf(`{"configuration": %s}`, singleConfigWithValuesJSON)
+	ListConfigsJSON  = fmt.Sprintf(`{"configurations": [%s]}`, singleConfigJSON)
+	GetConfigJSON    = fmt.Sprintf(`{"configuration": %s}`, singleConfigJSON)
+	CreateConfigJSON = fmt.Sprintf(`{"configuration": %s}`, singleConfigWithValuesJSON)
 )
 
-var createReq = `
+var CreateReq = `
 {
   "configuration": {
     "datastore": {
@@ -56,7 +56,7 @@
 }
 `
 
-var updateReq = `
+var UpdateReq = `
 {
   "configuration": {
     "values": {
@@ -66,7 +66,7 @@
 }
 `
 
-var listInstancesJSON = `
+var ListInstancesJSON = `
 {
   "instances": [
     {
@@ -77,7 +77,7 @@
 }
 `
 
-var listParamsJSON = `
+var ListParamsJSON = `
 {
   "configuration-parameters": [
     {
@@ -112,7 +112,7 @@
 }
 `
 
-var getParamJSON = `
+var GetParamJSON = `
 {
   "max": 1,
   "min": 0,
@@ -122,7 +122,7 @@
 }
 `
 
-var exampleConfig = Config{
+var ExampleConfig = Config{
 	Created:              "2014-07-31T18:56:09",
 	DatastoreName:        "mysql",
 	DatastoreVersionID:   "b00000b0-00b0-0b00-00b0-000b000000bb",
@@ -133,7 +133,7 @@
 	Updated:              "2014-07-31T18:56:09",
 }
 
-var exampleConfigWithValues = Config{
+var ExampleConfigWithValues = Config{
 	Created:              "2014-07-31T15:02:52",
 	DatastoreName:        "mysql",
 	DatastoreVersionID:   "b00000b0-00b0-0b00-00b0-000b000000bb",
diff --git a/openstack/db/v1/databases/requests.go b/openstack/db/v1/databases/requests.go
index 4a1b40c..f1eb5d9 100644
--- a/openstack/db/v1/databases/requests.go
+++ b/openstack/db/v1/databases/requests.go
@@ -108,8 +108,7 @@
 	var res DeleteResult
 
 	_, res.Err = client.Request("DELETE", dbURL(client, instanceID, dbName), gophercloud.RequestOpts{
-		JSONBody: &res.Body,
-		OkCodes:  []int{202},
+		OkCodes: []int{202},
 	})
 
 	return res
diff --git a/openstack/db/v1/instances/fixtures.go b/openstack/db/v1/instances/fixtures.go
index 9b4b209..1388e23 100644
--- a/openstack/db/v1/instances/fixtures.go
+++ b/openstack/db/v1/instances/fixtures.go
@@ -89,7 +89,7 @@
 )
 
 var (
-	restartReq   = `{"restart": true}`
+	restartReq   = `{"restart": {}}`
 	resizeReq    = `{"resize": {"flavorRef": "2"}}`
 	resizeVolReq = `{"resize": {"volume": {"size": 4}}}`
 )
diff --git a/openstack/db/v1/instances/requests.go b/openstack/db/v1/instances/requests.go
index bd70295..425db13 100644
--- a/openstack/db/v1/instances/requests.go
+++ b/openstack/db/v1/instances/requests.go
@@ -179,7 +179,7 @@
 	var res ActionResult
 
 	_, res.Err = client.Request("POST", actionURL(client, id), gophercloud.RequestOpts{
-		JSONBody: map[string]interface{}{"restart": true},
+		JSONBody: map[string]interface{}{"restart": struct{}{}},
 		OkCodes:  []int{202},
 	})
 
