表为什么没有创建

2022-11-24 使用疑虑 小于 1 分钟

# 我的表为什么没有创建

# 首先确认你使用的路由

如果你是时间分片的路由设置好GetBeginTime后将AutoCreateTableByTime设置为true那么那么默认路由会在指定的时间去创建对应的表, 但是你可能会发现启动的时候为什么没有表,那么你应该需要考虑自己是否是code-first,并且是否配置了UseShardingMigrationConfigure,并且本次迁移migration是否包含了这张表的create命令,如果包含了那么create table的命令会被分成N个,如果没有那么启动时不会给你创建表的,这个时候我们应该怎么办

  • 手动创建数据库:最笨的方法就是手动创建数据库.
  • 使用补偿表app.ApplicationServices.UseAutoTryCompensateTable();这个方法会帮助你扫描缺少的分片表然后给你创建,如果AddShardingDbContext有多个记得挨个获取IShardingRuntimeContext然后按个调用(后续会增加泛型方法)
上次编辑于: 2022年11月24日 21:05
贡献者: xuejiaming