grate.dotnet-template 0.4.3
dotnet new install grate.dotnet-template::0.4.3
简介
此仓库包含一个为 grate 的 dotnet new
模板,它是一个关于如何使用 grate 与 dotnet 项目来组织 SQL 脚本的示例。
入门
要更改/开发这里的模板,建议以下资源:
- https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package#from-a-convention-based-working-directory
- https://docs.microsoft.com/en-us/visualstudio/msbuild/how-to-extend-the-visual-studio-build-process?view=vs-2019
- https://docs.microsoft.com/en-us/dotnet/core/tools/custom-templates
- https://docs.microsoft.com/en-us/dotnet/core/tutorials/cli-templates-create-item-template
有关如何创建 dotnet new 模板的更多信息,请参阅此处: https://github.com/dotnet/dotnet-template-samples
grate.dotnet-template 项目的简要说明。
这是一个模板项目。这意味着它包含其他项目的模板。因此,它包含两个 csproj 文件:项目文件本身 grate-dotnet-template
和位于模板文件夹中的 .csproj
文件,后者是新项目的基础。
这两个项目(ab)使用 csproj 文件来存储 SQL 文件和一些相关工具,但方式略有不同。但是,两种情况下我们都覆盖了 msbuild 的默认 Build
和 ResolveReferences
目标,以试图避免创建任何 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 |