INTEGRITY Dokumentace

Prostředí

Prostředí jsou různé kontexty, ve kterých váš kód běží. Cloudflare Developer Platform umožňuje vytvářet a spravovat různá prostředí. Díky prostředím můžete stejný projekt nasadit na více míst pod různými názvy.

Pro určení různých databází D1 pro různá prostředí použijte v souboru Wrangler následující syntaxi:

{
	"env": {
		// This is a staging environment
		"staging": {
			"d1_databases": [
				{
					"binding": "<BINDING_NAME_1>",
					"database_name": "<DATABASE_NAME_1>",
					"database_id": "<UUID1>"
				}
			]
		},
		// This is a production environment
		"production": {
			"d1_databases": [
				{
					"binding": "<BINDING_NAME_2>",
					"database_name": "<DATABASE_NAME_2>",
					"database_id": "<UUID2>"
				}
			]
		}
	}
}
[[env.staging.d1_databases]]
binding = "<BINDING_NAME_1>"
database_name = "<DATABASE_NAME_1>"
database_id = "<UUID1>"

[[env.production.d1_databases]]
binding = "<BINDING_NAME_2>"
database_name = "<DATABASE_NAME_2>"
database_id = "<UUID2>"

V kódu výše staging prostředí používá jinou databázi (DATABASE_NAME_1) než production prostředí (DATABASE_NAME_2).

Struktura souboru Wrangler

Pokud potřebujete pro různá prostředí zadat různé databáze D1, váš Konfigurační soubor Wrangler může obsahovat bindingy podobné následujícím:

{
	"production": {
		"d1_databases": [
			{
				"binding": "DB",
				"database_name": "DATABASE_NAME",
				"database_id": "DATABASE_ID"
			}
		]
	}
}
[[production.d1_databases]]
binding = "DB"
database_name = "DATABASE_NAME"
database_id = "DATABASE_ID"

Ve výše uvedené konfiguraci:

Výše uvedený binding je tedy ekvivalentní s:

{
  "production": {
    "d1_databases": [
      {
        "binding": "DB",
        "database_name": "DATABASE_NAME",
        "database_id": "DATABASE_ID"
      }
    ]
  }
}

Příklad

{
	"env": {
		"staging": {
			"d1_databases": [
				{
					"binding": "BINDING_NAME_1",
					"database_name": "DATABASE_NAME_1",
					"database_id": "UUID_1"
				}
			]
		},
		"production": {
			"d1_databases": [
				{
					"binding": "BINDING_NAME_2",
					"database_name": "DATABASE_NAME_2",
					"database_id": "UUID_2"
				}
			]
		}
	}
}
[[env.staging.d1_databases]]
binding = "BINDING_NAME_1"
database_name = "DATABASE_NAME_1"
database_id = "UUID_1"

[[env.production.d1_databases]]
binding = "BINDING_NAME_2"
database_name = "DATABASE_NAME_2"
database_id = "UUID_2"

Výše uvedené odpovídá následující struktuře v JSON:

{
  "env": {
    "production": {
      "d1_databases": [
        {
          "binding": "BINDING_NAME_2",
          "database_id": "UUID_2",
          "database_name": "DATABASE_NAME_2"
        }
      ]
    },
    "staging": {
      "d1_databases": [
        {
          "binding": "BINDING_NAME_1",
          "database_id": "UUID_1",
          "database_name": "DATABASE_NAME_1"
        }
      ]
    }
  }
}