Convert Database projects so they build installable Packages rather than deploy to bin and modify installation to deploy Databases on demand as needed.
This commit is contained in:
		| @ -1,15 +1,33 @@ | ||||
| <Project Sdk="Microsoft.NET.Sdk"> | ||||
|  | ||||
|     <PropertyGroup> | ||||
|         <TargetFramework>net5.0</TargetFramework> | ||||
|     </PropertyGroup> | ||||
|   <PropertyGroup> | ||||
|     <TargetFramework>net5.0</TargetFramework> | ||||
|     <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> | ||||
|     <GeneratePackageOnBuild>true</GeneratePackageOnBuild> | ||||
|     <Version>1.0.0</Version> | ||||
|     <NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile> | ||||
|     <PackageName>$(MSBuildProjectName).$(Version).nupkg</PackageName> | ||||
|     <SuppressDependenciesWhenPacking>true</SuppressDependenciesWhenPacking> | ||||
|   </PropertyGroup> | ||||
|  | ||||
|     <ItemGroup> | ||||
|       <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.4" /> | ||||
|     </ItemGroup> | ||||
|   <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> | ||||
|     <OutputPath>bin</OutputPath> | ||||
|   </PropertyGroup> | ||||
|  | ||||
|     <ItemGroup> | ||||
|       <ProjectReference Include="..\Oqtane.Shared\Oqtane.Shared.csproj" /> | ||||
|     </ItemGroup> | ||||
|   <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> | ||||
|     <OutputPath>bin</OutputPath> | ||||
|   </PropertyGroup> | ||||
|  | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.4" /> | ||||
|   </ItemGroup> | ||||
|  | ||||
|   <ItemGroup> | ||||
|     <ProjectReference Include="..\Oqtane.Server\Oqtane.Server.csproj" /> | ||||
|   </ItemGroup> | ||||
|  | ||||
|   <Target Name="CopyPackage" AfterTargets="Pack"> | ||||
|     <Copy SourceFiles="$(OutputPath)..\$(PackageName)" DestinationFiles="..\Oqtane.Server\wwwroot\Packages\$(PackageName).bak" /> | ||||
|   </Target> | ||||
|  | ||||
| </Project> | ||||
|  | ||||
							
								
								
									
										24
									
								
								Oqtane.Database.Sqlite/Oqtane.Database.Sqlite.nuspec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								Oqtane.Database.Sqlite/Oqtane.Database.Sqlite.nuspec
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> | ||||
|     <metadata> | ||||
|         <id>Oqtane.Database.Sqlite</id> | ||||
|         <version>1.0.0</version> | ||||
|         <authors>Shaun Walker</authors> | ||||
|         <owners>.NET Foundation</owners> | ||||
|         <title>Oqtane Sqlite Provider</title> | ||||
|         <description>Add support for Sqlite to the Oqtane Framework</description> | ||||
|         <copyright>.NET Foundation</copyright> | ||||
|         <requireLicenseAcceptance>false</requireLicenseAcceptance> | ||||
|         <license type="expression">MIT</license> | ||||
|         <projectUrl>https://github.com/oqtane/oqtane.framework</projectUrl> | ||||
|         <iconUrl>https://www.oqtane.org/Portals/0/icon.jpg</iconUrl> | ||||
|         <tags>oqtane</tags> | ||||
|         <releaseNotes>https://github.com/oqtane/oqtane.framework/releases/tag/v2.0.2</releaseNotes> | ||||
|         <summary>Add support for Sqlite to the Oqtane Framework</summary> | ||||
|     </metadata> | ||||
|     <files> | ||||
|         <file src="bin\net5.0\Oqtane.Database.Sqlite.dll" target="lib\net5.0" /> | ||||
|         <file src="bin\net5.0\Oqtane.Database.Sqlite.pdb" target="lib\net5.0" /> | ||||
|         <file src="bin\net5.0\Microsoft.EntityFrameworkCore.Sqlite.dll" target="lib\net5.0" /> | ||||
|     </files> | ||||
| </package> | ||||
| @ -4,6 +4,7 @@ using Microsoft.Data.Sqlite; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Migrations.Operations; | ||||
| using Microsoft.EntityFrameworkCore.Migrations.Operations.Builders; | ||||
| using Oqtane.Databases; | ||||
| using Oqtane.Shared; | ||||
|  | ||||
| namespace Oqtane.Database.Sqlite | ||||
| @ -14,21 +15,15 @@ namespace Oqtane.Database.Sqlite | ||||
|  | ||||
|         private static string _name => "Sqlite"; | ||||
|  | ||||
|         private readonly static string _typeName; | ||||
|  | ||||
|         static SqliteDatabase() | ||||
|         { | ||||
|             var typeQualifiedName = typeof(SqliteDatabase).AssemblyQualifiedName; | ||||
|  | ||||
|             _typeName = typeQualifiedName.Substring(0, typeQualifiedName.IndexOf(", Version")); | ||||
|             Initialize(typeof(SqliteDatabase)); | ||||
|         } | ||||
|  | ||||
|         public SqliteDatabase() :base(_name, _friendlyName) { } | ||||
|  | ||||
|         public override string Provider => "Microsoft.EntityFrameworkCore.Sqlite"; | ||||
|  | ||||
|         public override string TypeName => _typeName; | ||||
|  | ||||
|         public override OperationBuilder<AddColumnOperation> AddAutoIncrementColumn(ColumnsBuilder table, string name) | ||||
|         { | ||||
|             return table.Column<int>(name: name, nullable: false).Annotation("Sqlite:Autoincrement", true); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Charles Nurse
					Charles Nurse