1.新建mysql数据,引擎选用innodb,编码规则和排序规则为默认,utf-8
2.出现报错:msql Specified key was too long 1000,原因为字段创建的时候,长度为2048字节,超出了mysql对字段属性长度的要求,固对一下几个地方进行修改
namespace Orchard.Recipes {
public class Migrations : DataMigrationImpl {
public int Create() {
SchemaBuilder.CreateTable("RecipeStepResultRecord", table => table
.Column<int>("Id", c => c.PrimaryKey().Identity())
.Column<string>("ExecutionId", c => c.WithLength(128).NotNull())
.Column<string>("RecipeName", c => c.WithLength(252))
.Column<string>("StepId", c => c.WithLength(32).NotNull())
.Column<string>("StepName", c => c.WithLength(252).NotNull())
.Column<bool>("IsCompleted", c => c.NotNull())
.Column<bool>("IsSuccessful", c => c.NotNull())
.Column<string>("ErrorMessage", c => c.Unlimited())
);
SchemaBuilder.AlterTable("RecipeStepResultRecord", table => {
table.CreateIndex("IDX_RecipeStepResultRecord_ExecutionId", "ExecutionId");
table.CreateIndex("IDX_RecipeStepResultRecord_ExecutionId_StepName", "ExecutionId", "StepName");
});
return 1;
}
}
}namespace Orchard.MediaLibrary {
public class MediaDataMigration : DataMigrationImpl {
public int Create() {
SchemaBuilder.CreateTable("MediaPartRecord", t => t
.ContentPartRecord()
.Column<string>("MimeType")
.Column<string>("Caption", c => c.Unlimited())
.Column<string>("AlternateText", c => c.Unlimited())
.Column<string>("FolderPath", c => c.WithLength(252))
.Column<string>("FileName", c => c.WithLength(252))
);namespace Orchard.Autoroute
{
public class Migrations : DataMigrationImpl {
public int Create() {
SchemaBuilder.CreateTable("AutoroutePartRecord",
table => table
.ContentPartVersionRecord()
.Column<string>("CustomPattern", c => c.WithLength(252))
.Column<bool>("UseCustomPattern", c => c.WithDefault(false))
.Column<bool>("UseCulturePattern", c => c.WithDefault(false))
.Column<string>("DisplayAlias", c => c.WithLength(252)));namespace Orchard.OutputCache.Models {
[OrchardFeature("Orchard.OutputCache.Database")]
public class CacheItemRecord {
public virtual int Id { get; set; }
public virtual DateTime CachedOnUtc { get; set; }
public virtual int Duration { get; set; }
public virtual int GraceTime { get; set; }
public virtual DateTime ValidUntilUtc { get; set; }
public virtual DateTime StoredUntilUtc { get; set; }
[StringLengthMax] public virtual byte[] Output { get; set; }
public virtual string ContentType { get; set; }
[StringLength(252)] public virtual string QueryString { get; set; }
[StringLength(252)] public virtual string CacheKey { get; set; }
[StringLength(252)] public virtual string InvariantCacheKey { get; set; }
[StringLength(252)] public virtual string Url { get; set; }namespace Orchard.Autoroute.Models {
public class AutoroutePartRecord : ContentPartVersionRecord {
public virtual bool UseCustomPattern { get; set; }
public virtual bool UseCulturePattern { get; set; }
[StringLength(2048)]
public virtual string CustomPattern { get; set; }
[StringLength(252)]
public virtual string DisplayAlias { get; set; }
}
}
本文介绍了在使用MySQL创建表时遇到的字段长度超过限制的问题,并详细展示了如何通过调整字段长度来解决这个问题。

797

被折叠的 条评论
为什么被折叠?



