grate.core 1.8.0
dotnet add package grate.core --version 1.8.0
NuGet\Install-Package grate.core -Version 1.8.0
<PackageReference Include="grate.core" Version="1.8.0" />
paket add grate.core --version 1.8.0
#r "nuget: grate.core, 1.8.0"
// Install grate.core as a Cake Addin #addin nuget:?package=grate.core&version=1.8.0 // Install grate.core as a Cake Tool #tool nuget:?package=grate.core&version=1.8.0
grate
grate 是一个 SQL 脚本迁移运行器,使用纯 SQL 进行迁移。没有元语言,没有代码,没有配置,没有 EF 迁移。它提供了最大的灵活性,并让您完全控制迁移,让您可以使用特定数据库系统的所有华丽功能。您不需要局限于所有支持数据库的共同最低功能集。
grate.core
这是一个核心包,它本身不做任何事情。您需要添加一个特定于数据库的包才能使用它。有关支持的数据库列表,请参阅下文。
grate (dotnet tool)
grate 还可以作为 dotnet 工具使用,可以使用以下命令进行安装:
dotnet tool install -g grate
最小示例
传递给 grate 的唯一必需参数是数据库的 连接字符串,告诉它数据库的位置。它将部署到该数据库,在当前目录中查找 sql 脚本。
[Fact]
public async Task Run_migration_agains_target_db()
{
var serviceCollection = new ServiceCollection();
serviceCollection.AddLogging();
serviceCollection.AddGrate(builder =>
{
builder
.WithSqlFilesDirectory("/db")
.WithConnectionString("mariadb/mysql connection string here")
})
.UseMariaDb(); // Important!, you need to specify the database type to use.
var serviceProvider = serviceCollection.BuildServiceProvider();
var grateMigrator = serviceProvider.GetRequiredService<IGrateMigrator>();
await grateMigrator.Migrate();
}
有关更多配置选项,请参阅 文档。
grate 支持以下数据库
数据库 | NuGet 包 |
---|---|
Microsoft SQL Server (sqlserver) | |
PostgreSQL (postgresql) | |
MariaDB/MySQL (mariadb) | |
SQLite (sqlite) | |
Oracle (oracle) |
完整文档可以在 https://erikbra.github.io/grate/ 找到。
产品 | 版本 兼容的和额外的计算目标框架版本。 |
---|---|
.NET | net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 兼容。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 兼容。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
-
net6.0
- Dapper (>= 2.1.35)
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Hosting (>= 8.0.0)
- Microsoft.Extensions.Logging.Console (>= 8.0.0)
-
net7.0
- Dapper (>= 2.1.35)
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Hosting (>= 8.0.0)
- Microsoft.Extensions.Logging.Console (>= 8.0.0)
-
net8.0
- Dapper (>= 2.1.35)
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Hosting (>= 8.0.0)
- Microsoft.Extensions.Logging.Console (>= 8.0.0)
NuGet 包 (5)
显示对 grate.core 依赖的前 5 个 NuGet 包
包 | 下载 |
---|---|
grate.postgresql
grate - 为 20 年的 sql 提供grate,是一个无代码、低代码数据库迁移工具,深受 RoundhousE 启发。它是从头开始使用现代 .NET 6/7/8 编写的。 |
|
grate.sqlserver
grate - 为 20 年的 sql 提供grate,是一个无代码、低代码数据库迁移工具,深受 RoundhousE 启发。它是从头开始使用现代 .NET 6/7/8 编写的。 |
|
grate.mariadb
grate - 为 20 年的 sql 提供grate,是一个无代码、低代码数据库迁移工具,深受 RoundhousE 启发。它是从头开始使用现代 .NET 6/7/8 编写的。 |
|
grate.oracle
grate - 为 20 年的 sql 提供grate,是一个无代码、低代码数据库迁移工具,深受 RoundhousE 启发。它是从头开始使用现代 .NET 6/7/8 编写的。 |
|
grate.sqlite
grate - 为 20 年的 sql 提供grate,是一个无代码、低代码数据库迁移工具,深受 RoundhousE 启发。它是从头开始使用现代 .NET 6/7/8 编写的。 |
GitHub 仓库
此包没有被任何流行的 GitHub 仓库使用。