MySQL Overview
Weasel.MySql provides schema management and migration support for MySQL databases using the MySqlConnector driver.
Installation
bash
dotnet add package Weasel.MySqlKey Components
- MySqlProvider -- Singleton at
MySqlProvider.Instancethat handles type mappings and identifier parsing. The default schema ispublic. - MySqlMigrator -- Generates DDL scripts and executes schema migrations. Identifiers are quoted with backticks.
Supported Schema Objects
| Object | Class | Namespace |
|---|---|---|
| Tables | Table | Weasel.MySql.Tables |
| Sequences | Sequence | Weasel.MySql |
Connection String
Weasel.MySql uses standard MySQL connection strings compatible with MySqlConnector:
cs
var connectionString = "Server=localhost;Database=mydb;User=root;Password=YourPassword;";Type Mappings
| .NET Type | MySQL Type |
|---|---|
string | VARCHAR(255) |
int | INT |
long | BIGINT |
bool | TINYINT(1) |
decimal | DECIMAL(18,2) |
double | DOUBLE |
DateTime | DATETIME |
Guid | CHAR(36) |
byte[] | BLOB |
Creating a Migrator
cs
var migrator = new MySqlMigrator();The migrator can ensure the target database exists:
cs
await using var conn = new MySqlConnection(connectionString);
await migrator.EnsureDatabaseExistsAsync(conn);
// Generates: CREATE DATABASE IF NOT EXISTS `mydb`;