grate.postgresql 1.8.0

dotnet add package grate.postgresql --version 1.8.0                
NuGet\Install-Package grate.postgresql -Version 1.8.0                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的版本 Install-Package
<PackageReference Include="grate.postgresql" Version="1.8.0" />                
对于支持 PackageReference 的项目,请将此 XML 节复制到项目文件中,以引用包。
paket add grate.postgresql --version 1.8.0                
#r "nuget: grate.postgresql, 1.8.0"                
#r 指令可以在 F# Interactive 和多语言笔记本中使用。将其复制到交互式工具或脚本的源代码中,以引用包。
// Install grate.postgresql as a Cake Addin
#addin nuget:?package=grate.postgresql&version=1.8.0

// Install grate.postgresql as a Cake Tool
#tool nuget:?package=grate.postgresql&version=1.8.0                

grate

grate 是一个 SQL 脚本迁移执行器,使用纯 SQL 进行迁移。没有元语言、没有代码、没有配置、没有 EF 迁移。它为您提供了完全的灵活性和对迁移的完全控制,并允许您使用特定数据库系统的所有复杂功能。您不会受到所有支持的数据库最低公共功能集的限制。

grate.postgresql

这是 grate 的 PostgreSQL 提供程序。它用于以编程方式将 SQL 脚本部署到 PostgreSQL 数据库。有关命令行使用方法,请参阅 grate (dotnet 工具) 包

代码示例

传递给 grate 的唯一必需参数是用于告诉其数据库位置的 连接字符串。它将部署到该数据库,并在当前目录中查找 SQL 脚本。

[Fact]
public async Task Run_migration_agains_target_db()
{
    var serviceCollection = new ServiceCollection();
    serviceCollection.AddLogging();
    serviceCollection.AddGrate(builder =>
    {
        builder
            .WithSqlFilesDirectory("/db")
            .WithConnectionString("postgresql connection string here")
    })
    .UsePostgreSql(); // Important!, you need to specify the database type to use.
    var serviceProvider = serviceCollection.BuildServiceProvider();
    var grateMigrator = serviceProvider.GetRequiredService<IGrateMigrator>();
    await grateMigrator.Migrate();
}

有关更多配置选项,请参阅 文档

grate 支持以下 DMBS 的

数据库 NuGet 包
Microsoft SQL Server (sqlserver) NuGet
PostgreSQL (postgresql) NuGet
MariaDB/MySQL (mariadb) NuGet
SQLite (sqlite) NuGet
Oracle (oracle) NuGet

grate.core

NuGet

这是一个核心包,本身不执行任何操作。它主要用于为 grate 编写扩展或为编写自己的数据库提供程序。如果您需要支持尚不支持的数据库,请随时创建自己的数据库提供程序,并提交 pull request。

完整文档可在此位置找到 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 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET 标准化.

NuGet 包

此包未被任何 NuGet 包使用。

GitHub 仓库

此包未被任何流行的 GitHub 仓库使用。

版本 下载 最后更新
1.8.0 57 7/25/2024
1.7.4 113 5/16/2024
1.7.3 90 5/11/2024
1.6.3 83 5/11/2024