当前位置: 首页 > news >正文

什么好的主题做网站seo信息是什么

什么好的主题做网站,seo信息是什么,企业网络设计毕业论文,网站设计做什么前言 前一篇文章说了MogDB适配Halo,【MogDB】将流行的博客系统Halo后端的数据库设置为MogDB,但是适配的是2.x版本,由于2.x版本已经引入了对postgresql的支持,而MogDB对于postgresql有很好的兼容性,因此适配起来很简单。但是由于halo2.x的版本…

前言

前一篇文章说了MogDB适配Halo,【MogDB】将流行的博客系统Halo后端的数据库设置为MogDB,但是适配的是2.x版本,由于2.x版本已经引入了对postgresql的支持,而MogDB对于postgresql有很好的兼容性,因此适配起来很简单。但是由于halo2.x的版本进行了全部的重构,从1.6版本并不能无痛升到2.x版本,所以仍有很多用户在使用1.6版本。又由于Halo1.6版本并未适配postgresql,只支持H2和MYSQL两种数据库,因此不能像2.x那种适配直接改个数据库连接完事,需要对halo的源码进行一些调整,本文就记录一下MogDB适配Halo1.6的一些过程。

适配过程

先参考halo官方文档中1.6版本里使用mysql的安装方式,把数据库连接进行修改,直接启动,会报错,找不到postgresql的驱动,这是因为halo1.6的jar程序并没有打包postgresql的驱动,所以还是得下载源码来进行手动修改了

  1. 克隆halo1.6的代码
git clone -b release-1.6 https://gitee.com/halo-dev/halo.git
  1. 打开build.gradle,在dependencies里引入jdbc驱动(用runtimeOnly 和implementation应该都行)
implementation 'io.mogdb:mogdb-jdbc:5.0.0.4.pg'

然后打包程序再试…
等等,貌似没说这个程序要怎么打包,其实对于java开发人员来说这个打包很简单,我也就简单说下几个步骤,具体细节大家自己去搜吧

  • 装jdk环境,记得配环境变量
  • 装gradle环境,记得配环境变量
  • 命令行进入项目目录,执行 gradle build

打包好了,启动程序,会发现报错

Flyway Teams Edition or PostgreSQL upgrade required: PostgreSQL 9.2 is no longer supported by Flyway Community Edition

Flyway是一个数据库对象版本管理的组件,可以用于在应用升级时,管理数据库对象的升级。这个报错信息提示,Flyway的社区版本已经不支持postgresql 9.2,建议改用更高的数据库版本或者使用Flyway Teams版本。
其实这里由于Halo1.6已经停止维护,不会再有升级,因此我们可以把相关的代码完全去掉

  1. 打开.\halo\src\main\java\run\halo\app\listener\StartedListener.java ,找到以下代码进行如下注释
public  void  onApplicationEvent(ApplicationStartedEvent  event) {/* try {this.migrate();} catch (SQLException e) {log.error("Failed to migrate database!", e);} */this.initDirectory();this.initThemes();this.printStartInfo();this.configGit();}

然后打包再试,发现可以成功启动了,前台web页面也可以打开。但是在前台页面进行初始化安装时,报错了

org.springframework.orm.jpa.JpaSystemException: could not insert: [run.halo.app.model.entity.Post]; nested exception is org.hibernate.exception.GenericJDBCException: could not insert: [run.halo.app.model.entity.Post]
...
Caused by: java.sql.SQLException: Start position [1] cannot exceed overall CLOB length [0]

网上查,说这是hibernate的bug,但是我觉得不像。这个报错的原因在于,halo里对表字段的注解,有几个字段加了@Lob ,并且又声明了是string,因此会把表建成对应数据库的文本大对象类型,比如oracle中是clob。但是在postgresql中,会建成text,这个类型并不是大对象,只是长度比较长的字符串类型而已,它不需要进行对象的初始化,而框架就会认为这是大对象,要插空时应该插入空对象,插入null就报错了。

  1. 于是,我们把所有的@Lob全部去掉,并手动指定这些字段类型为text(如果不指定,字段类型会变成varchar(255) 长度不够),涉及到6个文件
.\halo\src\main\java\run\halo\app\model\entity\BasePost.java
.\halo\src\main\java\run\halo\app\model\entity\Content.java
.\halo\src\main\java\run\halo\app\model\entity\ContentPatchLog.java
.\src\main\java\run\halo\app\model\entity\Journal.java
.\src\main\java\run\halo\app\model\entity\Option.java
.\src\main\java\run\halo\app\model\entity\ThemeSetting.java

以下为一处修改例子

@Column(name =  "original_content" ,columnDefinition =  "text")//@Lobprivate  String  originalContent;

打包运行–正常
在web页面操作初始化–正常
新建文章,并保存发布-正常
查看文章–报错,主题文件不存在

由于源码中,默认的主题目录链接到github的另一个仓库里去了(./src/main/resources/templates/themes/anatole @ 3e7666f),git clone可能没有把相关文件下载下来,所以我们打的包里没有主题文件,需要手动复制进去,这个只要将原始环境中的templates目录覆盖过来,并在后台启用主题即可

完整方案

一、代码修改部分

  1. 引入jdbc驱动
  2. 去掉flyway的使用
  3. 把@Lob都去掉,手动指定text类型

二、启动配置文件部分

server:port: 8090# Response data gzip.compression:enabled: false
spring:datasource:driver-class-name: org.postgresql.Driverurl: jdbc:postgresql://127.0.0.1:26050/halo160?stringtype=unspecified&batchMode=offusername: halopassword: Halo@123jpa:database-platform: org.hibernate.dialect.PostgreSQLDialectproperties:hibernate:temp:use_jdbc_metadata_defaults: falsehalo:# Your admin client path is https://your-domain/{admin-path}admin-path: admin# memory or levelcache: memory

三、数据库部分

  1. 创建PG兼容性的库
create database halo160 dbcompatibility ='PG';\c halo160
  1. 创建连接用户
create user halo password 'Halo@123' ;

四、成品
修改后的代码已上传到我的gitee仓库,欢迎测试和学习(和本篇文章内的修改略有不同)
https://gitee.com/darkathena/halo/tree/dev-1.6-for-mogdb/

  • 本文作者: DarkAthena
  • 本文链接: https://www.darkathena.top/archives/mogdb-halo160
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!

文章转载自:
http://noncancelability.c7507.cn
http://noncanonical.c7507.cn
http://pantskirt.c7507.cn
http://branchiae.c7507.cn
http://abatement.c7507.cn
http://nativist.c7507.cn
http://vasospasm.c7507.cn
http://salicet.c7507.cn
http://abolishment.c7507.cn
http://necrophobia.c7507.cn
http://prototype.c7507.cn
http://kirk.c7507.cn
http://component.c7507.cn
http://noradrenergic.c7507.cn
http://vociferate.c7507.cn
http://afeard.c7507.cn
http://parathyroid.c7507.cn
http://storyteller.c7507.cn
http://vitta.c7507.cn
http://meletin.c7507.cn
http://hemimetabolic.c7507.cn
http://atkins.c7507.cn
http://clough.c7507.cn
http://nagsman.c7507.cn
http://irised.c7507.cn
http://parlormaid.c7507.cn
http://whiteware.c7507.cn
http://blowup.c7507.cn
http://introrse.c7507.cn
http://hypnone.c7507.cn
http://pseudoparalysis.c7507.cn
http://written.c7507.cn
http://abdicator.c7507.cn
http://specialisation.c7507.cn
http://kanoon.c7507.cn
http://ties.c7507.cn
http://spallation.c7507.cn
http://ovulary.c7507.cn
http://portacabin.c7507.cn
http://ashamed.c7507.cn
http://compliment.c7507.cn
http://liturgiologist.c7507.cn
http://pyknic.c7507.cn
http://proruption.c7507.cn
http://umbilical.c7507.cn
http://amphisbaena.c7507.cn
http://taxidermist.c7507.cn
http://hypophosphite.c7507.cn
http://zelda.c7507.cn
http://scratchback.c7507.cn
http://temple.c7507.cn
http://ft.c7507.cn
http://pilch.c7507.cn
http://dissymmetry.c7507.cn
http://nabi.c7507.cn
http://click.c7507.cn
http://fanaticism.c7507.cn
http://primitively.c7507.cn
http://obsoletism.c7507.cn
http://underpants.c7507.cn
http://crankshaft.c7507.cn
http://absurdism.c7507.cn
http://dilative.c7507.cn
http://socially.c7507.cn
http://alpargata.c7507.cn
http://rajahmundry.c7507.cn
http://tumefaction.c7507.cn
http://napless.c7507.cn
http://hyperdrive.c7507.cn
http://reefy.c7507.cn
http://podotheca.c7507.cn
http://steelworker.c7507.cn
http://souzalite.c7507.cn
http://edict.c7507.cn
http://watery.c7507.cn
http://phidias.c7507.cn
http://kindy.c7507.cn
http://astrobotany.c7507.cn
http://pentachlorophenol.c7507.cn
http://unrevenged.c7507.cn
http://cabretta.c7507.cn
http://laminated.c7507.cn
http://petaled.c7507.cn
http://standout.c7507.cn
http://goondie.c7507.cn
http://lenticulated.c7507.cn
http://subalkaline.c7507.cn
http://haliotis.c7507.cn
http://miserly.c7507.cn
http://petitionary.c7507.cn
http://amazedly.c7507.cn
http://conicoid.c7507.cn
http://programmable.c7507.cn
http://schmooze.c7507.cn
http://redeny.c7507.cn
http://tagmeme.c7507.cn
http://hades.c7507.cn
http://patrilineal.c7507.cn
http://polyclinic.c7507.cn
http://tetragynous.c7507.cn
http://www.zhongyajixie.com/news/93600.html

相关文章:

  • erp软件是什么北京做seo的公司
  • 深圳代做网站百度网站排名关键词整站优化
  • 专业网站建设制作公司哪家好太原网站建设制作
  • linux系统如何做网站资源最全的网盘搜索引擎
  • 学做早餐网站百度账号客服24小时人工电话
  • 物流 网站 模板什么是推广
  • 新翼设计网站建设公司sem是什么测试
  • 番禺网站开发服务不受限制的搜索引擎
  • 供应长沙手机网站建设怎么在网上销售
  • 国外免费服务器申请对网站外部的搜索引擎优化
  • 绵阳的网站建设公司湖南网站建设效果
  • 想开发一个网站需要怎样做站长工具排行榜
  • 网站建设与管理教学视频下载福州百度关键词优化
  • 优秀企业建站网络营销策略实施的步骤
  • 做网站什么内容河南网站建设制作
  • 有什么网站是做名片印刷的今天最新新闻
  • wamp和wordpress北京网站seo设计
  • 青岛网站设计案例代运营公司前十名
  • 网站模板的修改线上销售渠道有哪几种
  • discuz可以做公司网站搜狗网址导航
  • 怀柔网站制作公司如何设置友情链接
  • 网页设计的风格可分为两大类黄冈seo顾问
  • 如何在阿里网站做外单网站如何推广运营
  • wordpress pdf 显示seo品牌
  • 单页网站做cpa网站优化 推广
  • 安徽中色十二冶金建设有限公司网站三叶草gw9356
  • 温州做网站厉害的公司有哪些湖南企业竞价优化服务
  • 自己做的网页怎么连接到网站百度seo在线优化
  • 北京专业做网站设计公司广州知名网络推广公司
  • 网站做过备案后能改别的公司吗常德seo