Перейти до вмісту
ДокументаціяСпробувати Aspire
ДокументаціяСпробувати

Use community extensions for MySQL hosting

Цей контент ще не доступний вашою мовою.

⭐ Community Toolkit MySQL logo

The Aspire Community Toolkit MySQL hosting extensions package provides extra functionality to the Aspire.Hosting.MySql hosting package.

This package provides the following features:

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 CLI — Додати пакет CommunityToolkit.Aspire.Hosting.MySql.Extensions
aspire add communitytoolkit-mysql-extensions

Aspire CLI інтерактивний; оберіть відповідний результат пошуку:

Aspire CLI — Приклад виводу
Select an integration to add:
> communitytoolkit-mysql-extensions (CommunityToolkit.Aspire.Hosting.MySql.Extensions)
> Other results listed as selectable options...

For TypeScript AppHosts, add the Community Toolkit MySQL extensions package to aspire.config.json:

aspire.config.json
{
"packages": {
"CommunityToolkit.Aspire.Hosting.MySql.Extensions": "*"
}
}

To add the DbGate management UI, decorate the official MySqlServerResource builder with WithDbGate / withDbGate:

apphost.mts
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.

To add the Adminer management UI, decorate the official MySqlServerResource builder with WithAdminer / withAdminer:

apphost.mts
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.

You can use both management UIs together on the same MySQL resource:

apphost.mts
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 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:

apphost.mts
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.