Orchard 1.10安装,数据库为mysql,需要修正的几处

本文介绍了在使用MySQL创建表时遇到的字段长度超过限制的问题,并详细展示了如何通过调整字段长度来解决这个问题。

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; }
    }
}


接着就出现了一下喜大普奔的首页!建成表总共77张,感觉相当庞大的一个库。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值