mirror of
https://github.com/fjykTec/ModernWMS.git
synced 2024-09-20 15:06:12 +08:00
add sqlserver and postgresql support
This commit is contained in:
parent
8a93c9486e
commit
56a8036696
|
@ -52,23 +52,35 @@ namespace ModernWMS.Core.Extentions
|
|||
});
|
||||
var Mysql_connection = configuration.GetConnectionString("MySqlConn");
|
||||
var SqlLite_connection = configuration.GetConnectionString("SqlLiteConn");
|
||||
var SqlServer_connection = configuration.GetConnectionString("SqlServerConn");
|
||||
var Postgre_connection = configuration.GetConnectionString("PostGresConn");
|
||||
var database_config = configuration.GetSection("Database")["db"];
|
||||
services.AddDbContextPool<SqlDBContext>(t =>
|
||||
{
|
||||
if(database_config == "SqlLite")
|
||||
if (database_config == "SqlLite")
|
||||
{
|
||||
t.UseSqlite(SqlLite_connection, b => b.MigrationsAssembly("ModernWMS"));
|
||||
}
|
||||
else
|
||||
{
|
||||
t.UseMySql(Mysql_connection, new MySqlServerVersion(new Version(8, 0, 26)));
|
||||
}
|
||||
|
||||
else if (database_config == "MySql")
|
||||
{
|
||||
t.UseMySql(Mysql_connection, new MySqlServerVersion(new Version(8, 0, 26)));
|
||||
}
|
||||
else if(database_config == "SqlServer")
|
||||
{
|
||||
t.UseSqlServer(SqlServer_connection);
|
||||
}
|
||||
|
||||
else if(database_config == "PostGres")
|
||||
{
|
||||
t.UseNpgsql(Postgre_connection);
|
||||
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
|
||||
AppContext.SetSwitch("Npgsql.DisableDateTimeInfinityConversions", true);
|
||||
}
|
||||
t.EnableSensitiveDataLogging();
|
||||
t.UseLoggerFactory(new LoggerFactory(new[] { new DebugLoggerProvider() }));
|
||||
}, 100); ;
|
||||
services.AddMemoryCache( );
|
||||
services.AddScoped<MultiTenancy.ITenantProvider, MultiTenancy.TenantProvider>();
|
||||
services.AddMemoryCache();
|
||||
services.AddScoped<MultiTenancy.ITenantProvider, MultiTenancy.TenantProvider>();
|
||||
services.AddSwaggerService(configuration, AppContext.BaseDirectory);
|
||||
services.AddTokenGeneratorService(configuration);
|
||||
services.RegisterAssembly();
|
||||
|
@ -87,7 +99,8 @@ namespace ModernWMS.Core.Extentions
|
|||
options.SerializerSettings.Converters.Add(new JsonStringTrimConverter());
|
||||
options.SerializerSettings.Formatting = Formatting.Indented;
|
||||
options.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
|
||||
}).AddDataAnnotationsLocalization(options => {
|
||||
}).AddDataAnnotationsLocalization(options =>
|
||||
{
|
||||
options.DataAnnotationLocalizerProvider = (type, factory) =>
|
||||
factory.Create(typeof(ModernWMS.Core.MultiLanguage));
|
||||
}); ;
|
||||
|
@ -106,7 +119,7 @@ namespace ModernWMS.Core.Extentions
|
|||
app.UseTokenGeneratorConfigure(configuration);
|
||||
app.UseAuthorization();
|
||||
app.UseMiddleware<GlobalExceptionMiddleware>();
|
||||
var support_languages = new[] { "zh-cn", "en-us" };
|
||||
var support_languages = new[] { "zh-cn", "en-us" };
|
||||
var localization_options = new RequestLocalizationOptions()
|
||||
.SetDefaultCulture(support_languages[0])
|
||||
.AddSupportedCultures(support_languages)
|
||||
|
@ -229,7 +242,7 @@ namespace ModernWMS.Core.Extentions
|
|||
{
|
||||
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
|
||||
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
|
||||
options.DefaultChallengeScheme = nameof(ApiResponseHandler);
|
||||
options.DefaultChallengeScheme = nameof(ApiResponseHandler);
|
||||
options.DefaultForbidScheme = nameof(ApiResponseHandler);
|
||||
}
|
||||
)
|
||||
|
|
|
@ -23,12 +23,14 @@
|
|||
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="7.0.1" />
|
||||
<PackageReference Include="Microsoft.Data.SqlClient" Version="5.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.1">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.1">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
|
@ -39,6 +41,7 @@
|
|||
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" />
|
||||
<PackageReference Include="Microsoft.OpenApi" Version="1.4.5" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
|
||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="7.0.1" />
|
||||
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="7.0.0-silver.1" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.Filters" Version="7.0.6" />
|
||||
|
|
|
@ -6,10 +6,12 @@
|
|||
}
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
"Database": { "db": "MySql" },
|
||||
"Database": { "db": "SqlLite" },
|
||||
"ConnectionStrings": {
|
||||
"MySqlConn": "Server=127.0.0.1;Database=wms;Port=3306;charset=utf8;uid=root;pwd=123456789a?;",
|
||||
"SqlLiteConn": "Data Source = wms.db"
|
||||
"MySqlConn": "Server=127.0.0.1;Database=wms;Port=3306;charset=utf8;uid=root;pwd=123456;",
|
||||
"SqlServerConn": "Data Source= 127.0.0.1; Connect Timeout=600;User ID= sa;Password= 123456; Initial Catalog= wms;Encrypt=False;",
|
||||
"SqlLiteConn": "Data Source = wms.db",
|
||||
"PostGresConn": "Server=192.168.103.34;Port=5432;User Id=postgres;Password=123456;Database=wms;"
|
||||
},
|
||||
"SwaggerSettings": {
|
||||
"Name": "ModernWMS",
|
||||
|
|
Loading…
Reference in a new issue