grate.dotnet-template 0.4.3

dotnet new install grate.dotnet-template::0.4.3                
此包包含一个 .NET 模板包,您可以从 shell/命令行调用。

简介

此仓库包含一个为 grate 的 dotnet new 模板,它是一个关于如何使用 grate 与 dotnet 项目来组织 SQL 脚本的示例。

入门

要更改/开发这里的模板,建议以下资源:

有关如何创建 dotnet new 模板的更多信息,请参阅此处: https://github.com/dotnet/dotnet-template-samples

grate.dotnet-template 项目的简要说明。

这是一个模板项目。这意味着它包含其他项目的模板。因此,它包含两个 csproj 文件:项目文件本身 grate-dotnet-template 和位于模板文件夹中的 .csproj 文件,后者是新项目的基础。

这两个项目(ab)使用 csproj 文件来存储 SQL 文件和一些相关工具,但方式略有不同。但是,两种情况下我们都覆盖了 msbuild 的默认 BuildResolveReferences 目标,以试图避免创建任何 DLL,而我们不需要的。还有一些属性使得 dotnet pack 包含输出中的内容文件,并将结果适当地用于分发 SQL 文件。

模板项目包含一个 .template.config 文件夹,其中包含模板设置(元数据、替换字符串等)。运行 dotnet new 命令生成的结果项目不包括它。然而,其余的 templates 文件夹,包括指定的 .net 本地工具的 .config 文件夹(grate),是包括在内的。

打包模板

要打包模板,只需运行

dotnet pack

package 文件夹中生成的结果 .nupkg 包含一个可以在客户端计算机上安装的模板,并用于创建此类型的新项目。应将该 nupkg 推送到 nuget 仓库。

安装模板

要使用模板,您首先需要安装它。如果您正在本地开发模板本身,可以直接从 .nupkg 文件安装它

dotnet new install <PATH_TO_NUPKG_FILE>

例如,在 grate-dotnet-template 文件夹中

dotnet pack
dotnet new install ./package/grate.dotnet-template.0.0.1.nupkg

如果您只想使用最新发布的包版本,只需使用包 ID 安装它(假定您或其他人已将它推送到您源中的 nuget 仓库)

dotnet new install grate.dotnet-template

有关安装模板的更多详细信息请参阅: https://docs.microsoft.com/en-us/dotnet/core/tools/custom-templates#installing-a-template

使用模板

根据上述描述,安装了模板后,您可以使用模板创建新的数据库项目

cd /tmp/
mkdir TestProject
cd TestProject
dotnet new grate --database MyDatabase

这将给当前目录提供一个新项目骨架,以及一些包含 grate 的执行脚本。

要运行数据库迁移(Grate 这样称呼它),您需要设置几个环境变量

  • ConnectionStrings__MyDatabase
  • GrateEnvironment

然后,您只需运行 Deploy.ps1 脚本。它应该将 grate 安装为 .net 本地工具,并使用正确的参数调用它。

打包您的项目

模板创建了一个适合打包为 .nupkg 并运输的项目。要打包它,只需在您新创建的项目目录中运行

nuget pack

。这应该会创建一个 .nupkg 文件(它只是一个具有特殊文件结构和不同扩展名的 zip 文件),可以从某处(构建服务器等)下载并运行。

使用您打包的项目

要使用您的项目,使用某种方式下载 .nupkg 文件,并使用文件运行安装脚本。您可以使用 NuGet,但这不是必需的,您可以从某处下载文件,并把它当作 zip 文件处理,如果这更适合您的需求。

示例,使用 NuGet

❯ nuget install MyDatabase -OutputDirectory somewhere -DirectDownload -Source /tmp/MyDatabase/package/
❯ cd ./somewhere/MyDatabase.1.0.0/content/
❯ ./Deploy.ps1 
  • .NETStandard 2.0

    • 无依赖。

NuGet 包

此包没有被任何 NuGet 包使用。

GitHub 仓库

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

版本 下载 上次更新
0.4.3 606 5/11/2024