修复按天datetime无法自动建表的bug

This commit is contained in:
xuejiaming 2021-11-10 17:40:55 +08:00
parent 83390b80a1
commit 48966fe84e
7 changed files with 18 additions and 17 deletions

View File

@ -1,9 +1,9 @@
:start
::定义版本
set EFCORE2=2.3.1.31
set EFCORE3=3.3.1.31
set EFCORE5=5.3.1.31
set EFCORE6=6.3.1.31
set EFCORE2=2.3.1.34
set EFCORE3=3.3.1.34
set EFCORE5=5.3.1.34
set EFCORE6=6.3.1.34
::删除所有bin与obj下的文件
@echo off

View File

@ -6,7 +6,10 @@ using ShardingCore.Core.EntityMetadatas;
using ShardingCore.Core.VirtualRoutes;
using ShardingCore.Sharding.PaginationConfigurations;
using ShardingCore.VirtualRoutes;
using ShardingCore.VirtualRoutes.Abstractions;
using ShardingCore.VirtualRoutes.Days;
using ShardingCore.VirtualRoutes.Mods;
using ShardingCore.VirtualRoutes.Weeks;
namespace Sample.SqlServer.Shardings
{

View File

@ -3,6 +3,7 @@ using ChronusJob.Abstractions;
using ChronusJob.Jobs.Attributes;
using Samples.AutoByDate.SqlServer.DbContexts;
using Samples.AutoByDate.SqlServer.Domain.Entities;
using ShardingCore;
using ShardingCore.Core.PhysicTables;
using ShardingCore.Core.VirtualDatabase.VirtualTables;
using ShardingCore.Core.VirtualTables;
@ -36,8 +37,8 @@ namespace Samples.AutoByDate.SqlServer.Jobs
var tail = virtualTable.GetVirtualRoute().ShardingKeyToTail(now);
try
{
virtualTableManager.AddPhysicTable(virtualTable, new DefaultPhysicTable(virtualTable, tail));
tableCreator.CreateTable("ds0",typeof(SysUserLogByDay),tail);
virtualTableManager.AddPhysicTable(virtualTable, new DefaultPhysicTable(virtualTable, tail));
tableCreator.CreateTable("ds0", typeof(SysUserLogByDay), tail);
}
catch (Exception e)
{

View File

@ -151,8 +151,8 @@ namespace ShardingCore.Bootstrapers
{
if (!_shardingConfigOption.IgnoreCreateTableError.GetValueOrDefault())
{
_logger.LogWarning(
$"table :{virtualTable.GetVirtualTableName()}{entityMetadata.TableSeparator}{tail} will created.", e);
_logger.LogWarning(e,
$"table :{virtualTable.GetVirtualTableName()}{entityMetadata.TableSeparator}{tail} will created.");
}
}
}

View File

@ -73,15 +73,12 @@ namespace ShardingCore.Extensions
public static void RemoveDbContextRelationModelSaveOnlyThatIsNamedType(this DbContext dbContext,
Type shardingType)
{
#if EFCORE6
var contextModel = dbContext.GetService<IDesignTimeModel>().Model; ;
#endif
#if EFCORE2 ||EFCORE3 ||EFCORE5
var contextModel = dbContext.Model as Model;
#endif
#if EFCORE6
var contextModel = dbContext.GetService<IDesignTimeModel>().Model; ;
var contextModelRelationalModel = contextModel.GetRelationalModel() as RelationalModel;
var valueTuples =
contextModelRelationalModel.Tables

View File

@ -70,7 +70,7 @@ namespace ShardingCore.TableCreator
lock (modelCacheSyncObject)
{
context.RemoveDbContextRelationModelSaveOnlyThatIsNamedType(shardingEntityType);
var databaseCreator = context.Database.GetService<IDatabaseCreator>() as RelationalDatabaseCreator;
var databaseCreator = context.Database.GetService<IDatabaseCreator>() as RelationalDatabaseCreator;
try
{
databaseCreator.CreateTables();
@ -79,9 +79,9 @@ namespace ShardingCore.TableCreator
{
if (!_shardingConfigOption.IgnoreCreateTableError.GetValueOrDefault())
{
_logger.LogWarning(
$"create table error maybe table:[{virtualTable.GetVirtualTableName()}{virtualTable.EntityMetadata.TableSeparator}{tail}]");
throw new ShardingCreateException(" create table error :", ex);
_logger.LogWarning(ex,
$"create table error maybe table:[{virtualTable.GetVirtualTableName()}{virtualTable.EntityMetadata.TableSeparator}{tail}].");
throw new ShardingCreateException($" create table error :{ex.Message}", ex);
}
}
finally

View File

@ -21,7 +21,7 @@ namespace ShardingCore.VirtualRoutes.Days
* @Date: Wednesday, 27 January 2021 08:41:05
* @Email: 326308290@qq.com
*/
public abstract class AbstractSimpleShardingDayKeyDateTimeVirtualTableRoute<T>:AbstractShardingTimeKeyDateTimeVirtualTableRoute<T> where T:class
public abstract class AbstractSimpleShardingDayKeyDateTimeVirtualTableRoute<T>:AbstractShardingTimeKeyDateTimeVirtualTableRoute<T>,IJob where T:class
{
/// <summary>
/// begin time use fixed time eg.new DateTime(20xx,xx,xx)