记一次 OrchardCore 中 ContentItemIndex 误删恢复

Posted 韩严重的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次 OrchardCore 中 ContentItemIndex 误删恢复相关的知识,希望对你有一定的参考价值。

今天临睡前突然脑抽把FreeSql 的自动迁移功能给打开了~ 当时想着是不能开的,但忘了删除掉代码~

 

后面又去搞其它代码的问题,结果弄完忘记删除启用迁移代码了。。

 

跑一遍之后就发现一些莫名其妙的报错

看看日志一堆的字段无效信息。。

列名 \'ContentType\' 无效。 
列名 \'Owner\' 无效。

 

这时候才想起来刚才的自动迁移没关。。然后看了下 CotentItemIndex 表被删了好几个字段~~

万幸的是,OC所有内容项都在Content表中有完整数据,捣鼓半天SQL JSON解析+转换,终于起来了,

下面代码留在这里或许某天能节省俩小时~

SELECT  [Id] 
      , json_value([Content],\'$.ContentItemId\') ContentItemId
      , json_value([Content],\'$.ContentType\') ContentType       
      ,  CONVERT(datetime,SUBSTRING( REPLACE(json_value([Content],\'$.ModifiedUtc\') ,\'T\',\' \'),0,20))ModifiedUtc
      ,  CONVERT(datetime,SUBSTRING( REPLACE(json_value([Content],\'$.PublishedUtc\') ,\'T\',\' \'),0,20))PublishedUtc
      ,  CONVERT(datetime,SUBSTRING( REPLACE(json_value([Content],\'$.CreatedUtc\') ,\'T\',\' \'),0,20))CreatedUtc
      , json_value([Content],\'$.Owner\') Owner
      , json_value([Content],\'$.Author\') Author
      , json_value([Content],\'$.Published\') Published
      , json_value([Content],\'$.Latest\') Latest 
      into #temp
  FROM [dbo].[Document]
  where Type=\'OrchardCore.ContentManagement.ContentItem, OrchardCore.ContentManagement.Abstractions\'
  and( json_value([Content],\'$.Published\')  =\'true\' or json_value([Content],\'$.Latest\') =\'true\')
  and id in ( 
    select DocumentId from ContentItemIndex  
  )

  select * from #temp
update a set ContentType=b.ContentType,ModifiedUtc=b.ModifiedUtc,PublishedUtc=b.PublishedUtc,CreatedUtc=b.CreatedUtc,Owner=b.Owner,Author=b.Author
from ContentItemIndex a inner join #temp b on a.DocumentId=b.Id
  drop table #temp

 

记一次wordpress安装过程中遇到的问题及解决办法

Q:无法建立目录wp-content/uploads/2017/03。有没有上级目录的写权限?
A:执行chmod 777 wp-content/ 提升目录权限

Q:安装主题或安装插件的时候,用到FTP提示用户名密码不正确,使用XFTP也连接不上?
A:这是由于根目录的权限过高(777),应该把根目录的权限设置为555,chmod 555 /var/www/html

Q:无法将上传的文件移动至wp-content/uploads/2017/03?
A:执行chmod -R 777 wp-content/


Q:ubuntu下的mysql外网可以访问的方法?
A:1、先将/etc/mysql/mysql.conf.d/mysqld.cnf 中的 bind-address = 127.0.0.1用井号(“#”)注释掉
2、再执行 mysql -u root -p (输入密码)
3、grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘密码‘; flush privileges;
4、查看 user 权限,成功修改权限为 %; select host,user from mysql.user;
5、重启mysql service mysql restart

Q:抱歉,我不能写入wp-config.php文件。您可以手工创建wp-config.php文件并将以下信息贴入其中。
A:执行chmod 777 /var/www/html/ 提升目录权限(提升wp-config.php文件所在的目录权限)

Q:为mysql创建新用户并分配权限?
A:grant all privileges on *.* to 用户名@localhost identified by ‘密码‘;

Q:如何开如apache2的url重写功能?
A:1、将/etc/apache2/apache2.conf中
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

改成

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride ALL
Require all granted
</Directory>
保存退出。
2、输入a2enmod rewrite会提示“Enabling module rewrite.
To activate the new configuration, you need to run:
service apache2 restart
” 然后执行 service apache2 restart 即可。

Q:上传的文件尺寸超过php.ini中定义的upload_max_filesize值?
A: 修改/etc/php/7.0/apache2/php.ini文件的upload_max_filesize值改为50M,然后service apache2 restart

Q:Wordpress安装主题、插件,提示:无法创建目录?
A:首先确保wp-content目录权限为777,然后更改目录拥有者为ftp用户组的用户,例如所属uftp组,如果这两点都满足仍然不行,就是vsftpd的问题了,
在/etc/vsftpd.conf中有一个选项是限制用户对文件夹写入的,默认为#注释了:
# Uncomment this to enable any form of FTP write command.
write_enable=YES
enable后,ftp可以写入,WP模板安装就正常了。

以上是关于记一次 OrchardCore 中 ContentItemIndex 误删恢复的主要内容,如果未能解决你的问题,请参考以下文章

记一次Api请求

记一次openresty踩坑

记一次临摹百度登录界面

服务器SQL模式--记一次工作中遇到的问题

Jquery 记一次使用fullcalendar的使用记录

记一次生产频繁发生FullGC问题