Use community extensions for MySQL hosting
Konten ini belum tersedia dalam bahasa Anda.
The Aspire Community Toolkit MySQL hosting extensions package provides extra functionality to the Aspire.Hosting.MySql hosting package.
This package provides the following features:
Hosting integration
Section titled “Hosting integration”To get started with the Aspire Community Toolkit MySQL hosting extensions, install the CommunityToolkit.Aspire.Hosting.MySql.Extensions NuGet package in the AppHost project.
aspire add communitytoolkit-mysql-extensionsAspire CLI interaktif; pilih hasil pencarian yang sesuai saat diminta:
Select an integration to add:
> communitytoolkit-mysql-extensions (CommunityToolkit.Aspire.Hosting.MySql.Extensions)> Other results listed as selectable options...#:package CommunityToolkit.Aspire.Hosting.MySql.Extensions@*<PackageReference Include="CommunityToolkit.Aspire.Hosting.MySql.Extensions" Version="*" />For TypeScript AppHosts, add the Community Toolkit MySQL extensions package to aspire.config.json:
{ "packages": { "CommunityToolkit.Aspire.Hosting.MySql.Extensions": "*" }}Add management UI
Section titled “Add management UI”DbGate management UI
Section titled “DbGate management UI”To add the DbGate management UI, decorate the official MySqlServerResource builder with WithDbGate / withDbGate:
var builder = DistributedApplication.CreateBuilder(args);
var mysql = builder.AddMySql("mysql") .WithDbGate();
builder.AddProject<Projects.ExampleProject>("api") .WithReference(mysql);
builder.Build().Run();import { createBuilder } from './.aspire/modules/aspire.mjs';
const builder = await createBuilder();
const mysql = await builder.addMySql('mysql');await mysql.withDbGate();
const api = await builder.addProject('api', '../Api/Api.csproj');await api.withReference(mysql);
await builder.build().run();This adds a new DbGate resource to the AppHost which is available from the Aspire dashboard. DbGate is a comprehensive database management tool that provides a web-based interface for managing your MySQL databases.
Adminer management UI
Section titled “Adminer management UI”To add the Adminer management UI, decorate the official MySqlServerResource builder with WithAdminer / withAdminer:
var builder = DistributedApplication.CreateBuilder(args);
var mysql = builder.AddMySql("mysql") .WithAdminer();
builder.AddProject<Projects.ExampleProject>("api") .WithReference(mysql);
builder.Build().Run();import { createBuilder } from './.aspire/modules/aspire.mjs';
const builder = await createBuilder();
const mysql = await builder.addMySql('mysql');await mysql.withAdminer();
const api = await builder.addProject('api', '../Api/Api.csproj');await api.withReference(mysql);
await builder.build().run();This adds a new Adminer resource to the AppHost which is available from the Aspire dashboard. Adminer is a lightweight database management tool that provides a simple web interface for database operations.
Using both management UIs
Section titled “Using both management UIs”You can use both management UIs together on the same MySQL resource:
var builder = DistributedApplication.CreateBuilder(args);
var mysql = builder.AddMySql("mysql") .WithDbGate() .WithAdminer();
builder.AddProject<Projects.ExampleProject>("api") .WithReference(mysql);
builder.Build().Run();import { createBuilder } from './.aspire/modules/aspire.mjs';
const builder = await createBuilder();
const mysql = await builder.addMySql('mysql');await mysql.withDbGate();await mysql.withAdminer();
const api = await builder.addProject('api', '../Api/Api.csproj');await api.withReference(mysql);
await builder.build().run();dbx management UI
Section titled “dbx management UI”dbx is a lightweight, web-based database client and an alternative management UI to DbGate and Adminer. Use WithDbx / withDbx to add a dbx child resource configured for the MySQL server:
var builder = DistributedApplication.CreateBuilder(args);
var mysql = builder.AddMySql("mysql") .WithDbx();
builder.Build().Run();import { createBuilder } from './.aspire/modules/aspire.mjs';
const builder = await createBuilder();
const mysql = await builder.addMySql('mysql');await mysql.withDbx({ containerName: 'mysql-dbx', imageTag: '0.5.33',});
await builder.build().run();The C# overload accepts an optional container configuration callback and containerName. The TypeScript binding accepts optional containerName and imageTag values.