- railse 专案运行时错误:can't activate sqlite3 (~> 1.3.6)
ava139
环境Rails5.2.2ruby2.5.3p105(2018-10-18revision65156)[x64-mingw32]问题当rails、ruby、sqlite3都安装完成,顺利创建完专案的时候,运行服务访问专案时又报了一个错Pumacaughtthiserror:Errorloadingthe'sqlite3'ActiveRecordadapter.Missingagemitdepends
- 学习笔记:使用 Amazon Bedrock 进行图像生成
AmazonBedrock全新发布在2023年的亚马逊云科技re:Invent全球云计算大会上,最令人瞩目的一项更新莫过于AmazonBedrock的全新升级。亚马逊云科技此次为其大模型托管服务引入了Fine-tuning、Agents、KnowledgeBases和Guardrails等一系列创新功能。这些功能的加入意味着客户现在能以更加高效、智能和安全的方式构建各种应用,标志着亚马逊云科技在推
- Santa's Adventure Trails
草鸡小脑斧
Christmashascomequietly,andinordertocollectthedecorationsthatChristmasneeds,SantaClausbeganhisadventure.Inthegame,theplayer'staskistocontroltheSantaClaustoavoiddanger,collectdecorativeobjectstosuccess
- 2012年高考英语湖北卷 - 阅读理解B
让文字更美
WhenmybrotherandIwereyoung,mymomwouldtakeusonTransportationDays.我和弟弟小的时候,妈妈会带我们体验交通日。Itgoeslikethis:Youcan’ttakeanymeansoftransportationmorethanonce.Wewouldstartfromhome,walkingtwoblockstotherailstati
- Rails中的MIME类型解析规则
CharlesZhangCh
本文缘于在项目中遇到的一个问题,查阅了网上的资料和Rails源码后有一点收获,简单做个总结,有些地方不够全面,欢迎大家补充指正。相关背景Rails项目中经常可以看到类似如下代码:respond_todo|format|format.htmlformat.json{renderjson:@users}format.xml{renderxml:@users}end如果想获取xml格式的数据,就在请求路
- 自动生成和安装requirements.txt依赖
Lydia1991
自动生成和安装requirements.txt依赖在查看别人的Python项目时,经常会看到一个requirements.txt文件,里面记录了当前程序的所有依赖包及其精确版本号。这个文件有点类似与Rails的Gemfile。其作用是用来在另一台PC上重新构建项目所需要的运行环境依赖。requirements.txt可以通过pip命令自动生成和安装生成requirements.txt文件pipfr
- Spring MVC防御CSRF、XSS和SQL注入攻击
Keith003
JavaSpringMVC防御
说说CSRF对CSRF来说,其实Spring3.1、ASP.NETMVC3、Rails、Django等都已经支持自动在涉及POST的地方添加Token(包括FORM表单和AJAXPOST等),似乎是一个tag的事情,但如果了解一些实现原理,手工来处理,也是有好处的。因为其实很多人做web开发,但涉及到web安全方面的都是比较资深的开发人员,很多人安全意识非常薄弱,CSRF是什么根本没有听说过。所以
- [Economist] 城市交通:出轨(上)
Prongs
Urbantransport:Offtherails城市交通:出轨TOTHOSEwhohavetosqueezeontothenumber25businLondon,ortheAtraininNewYork,thechangemightnotbenoticeable.Butpublictransportisbecominglessbusyinthosecities,andinothersbeside
- Node.js + Express + MongoDB 实战 TodoList 基础入门
barnett_y
【Node.jsKoa点滴知识】
Node.js+Express+MongoDB实战TodoList基础入门视频地址https://www.rails365.netb站常用链接express官网express官网中文expressgithubNodejs学习笔记以及经验总结看视频整理要点笔记:hello-express1.介绍2.请求与响应3.路由参数4.查询字符串5.POST请求和postman工具6.上传文件7.模版引擎介绍8
- Java程序员有这七款日志管理工具,2019多一份保障
游戏原画设计
日志管理工具有Splunk、SumoLogic、LogStash、GrayLog、Loggly和PaperTrails这些,不计其数。日志如同原油,二十几年了人们始终想消除它,却始终都没有做到。以便解决日益增长的数据,近些年出现了大量分析和管理日志的专用工具,开发设计和技术人员可以依靠这些专用工具来掌握倍增的数据。在这里本文中,我将立在开发人员的视角,深入分析一下那些专用工具的特性。小编分类整理了
- 知名开发工具RubyMine全新发布v2023.3——支持AI Assistant
界面开发小八哥
人工智能RubyMineIDEruby
RubyMine是一个为Ruby和Rails开发者准备的IDE,其带有所有开发者必须的功能,并将之紧密集成于便捷的开发环境中。RubyMinev2023.3正式版下载新版本改进AIAssistant支持、Rails应用程序和引擎的自定义路径、对Rails7.1严格locals的代码洞察、RBS中的额外声明、针对调试器类型呈现器的更新、服务器模式下的RuboCop、Brakeman代码检查等。AIA
- fluentmigrator连接mysql_怎么利用FluentMigrator实现数据库迁移
weixin_39843847
FluentMigratorFluentMigrator是一个基于.NET的迁移框架,你可以像使用RubyonRailsMigrations一样使用它。FluentMigrator的最新版本是3.13版,官网地址https://github.com/fluentmigrator/fluentmigrator。你可以使用C#编写数据库迁移类,而不需要编写任何SQL脚本。从使用方式上看,它非常像EF/
- fluentmigrator连接mysql_如何使用FluentMigrator进行数据库迁移
有事没事捕蒜子
标题:如何使用FluentMigrator进行数据库迁移地址:https://www.cnblogs.com/lwqlun/p/10649949.html作者:LamondLuFluentMigratorFluentMigrator是一个基于.NET的迁移框架,你可以像使用RubyonRailsMigrations一样使用它。FluentMigrator的最新版本是3.13版,官网地址https:
- ajax文件插件上传,7 款基于 JavaScript/AJAX 的文件上传插件
草料老蒋
ajax文件插件上传
本文整理了7款基于JavaScript和AJAX的文件上传插件,这些插件基本上都能实现以下功能:多文件上传拖拽操作实时上传进度自定义上传限制希望能为你的开发工作带来帮助。具有多文件上传、拖拽、进度条和图像预览功能的文件上传插件,支持跨域、分块、暂停恢复和客户端图像缩放。可与任何服务端平台(如PHP、Python、RubyonRails、Java、Node.js、Go等)一起使用,支持标准的HTML
- gitlab 403 forbidden 报错解决
R6N
gitlabmysqljavalinuxtomcat
问题使用自搭建的Gitlab。但打开页面的时候显示的是空白页面,上面还有一次文本Forbidden。原因Gitlab使用rack_attack做了并发访问的限制。解决方案将Gitlab的IP设置为白名单即可。步骤如下:打开/etc/gitlab/gitlab.rb文件。查找gitlab_rails['rack_attack_git_basic_auth']关键词。取消注释修改ip_whitelis
- docker 安装下 Gitlab 403 forbidden 问题解决
秋名山车神不开车
linuxforbiddenGitlabdocker
1.打开gitlab网站报错forbidden,并发引起IP被封2.dockerps找到gitlab容器id3.dockerexec-tid084d006a65fbash进入容器目录4.cd/etc/gitlab/目录,vigitlab.rb文件5.增加你的ip地址gitlab_rails['rack_attack_git_basic_auth']={'enabled'=>true,'ip_whi
- linux宝塔forbidden,宝塔部署 Gitlab 报错处理方案
weixin_39573535
错误1:Gitlab报错403Forbidden原因:是由于IP被封禁的原因打开/etc/gitlab/gitlab.rb找到gitlab_rails['rack_attack_git_basic_auth']将注释打开添加ip_whitelist白名单列表gitlab_rails['rack_attack_git_basic_auth']={'enabled'=>true,'ip_whiteli
- gitlab 403 forbidden
用钦
问题排查javalinuxgit
问题访问gitlab报错403forbidden排查查看实时logs#查看所有的logs;按Ctrl-C退出sudogitlab-ctltail#拉取/var/log/gitlab下子目录的日志sudogitlab-ctltailgitlab-rails#拉取某个指定的日志文件sudogitlab-ctltailnginx/gitlab_error.log查看历史日志历史日志的持久化需要提前在/e
- gitlab 可以push但web端不显示文件
随风奔跑尿飞扬
杂记gitgitpushgitwebgitweb不显示文件
运行命令gitlab-rakecache:clearRAILS_ENV=production清楚缓存.如果没有gitlab-rake命令,可以到git安装目录的bin目录下,执行rakecache:clearRAILS_ENV=productionGem::LoadError:Youhavealreadyactivatedrake10.5.0,butyourGemfilerequiresrake1
- 搭建一个网站(2)
敏思乐行
今天rails出现故障,在localhost:3000浏览器打开失败,提示rails安装有问题查看了一下ruby版本,2.2,重新安装rubyrailsruby和rails安装:1、rvmlistknown查看可用版本2、rvminstall2.3.4安装ruby2.3.43、geminstallrails-5.0.0新建一个文件夹railsnewrails101,保存打开文件cdrails101
- 程序员/设计师能用上的 75 份速查表
foveni
75份速查表,由vikas收集整理,包括:jQuery、HTML、HTML5、CSS、CSS3、JavaScript、Photoshop、git、Linux、Java、Perl、PHP、Python、Ruby、RubyonRails、Scala、C#、SQLite、C++、C语言、Ubuntu、WordPress、Node.js、Oracle、NMAP、MacOSX、Haskell、Unicode
- git,gitLib,gitHub以及svn和git的区别
阿里嘎多f
jenkins持续集成gitgithubsvn
一.git,gitlib,github的区别Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。gitHub和gitLib都是web界面(都是基于git基础修改的)Github是在线的基于Git的代码托管服务。GitHub是2008年由RubyonRails编写而成。GitHub同
- Python图论——以“Revamping Trails”为例
小八i
python图论算法
题目链接:登录—专业IT笔试面试备考平台_牛客网题目描述输入描述输出描述示例输入4411210241013134100输出1说明思路这个题在经典的找最短路径图论题上增加了一个可以修改k条路径长度(以下均用路径代替时间)为0这么一个条件。首先用邻接表来存储这个图,再通过dijkstra算法来更新最短路径。dijkstra算法代码的主要内容是维护两个集合,分别为已确定最短路径的结点集合A、这些结点向外
- 服务端开发小记04——Nginx
maplesea7
nginx运维
NginxNginx简介Nginx在Linux下的安装Nginx常用命令Nginx虚拟域名配置及验证Nginx简介Nginx是一款轻量级Web服务器,也是一款反向代理服务器。Nginx可以直接支持Rails和PHP的程序,并且可以直接作为HTTP反向代理服务器。此外,Nginx还可以作为负载均衡服务器,邮件代理服务器,帮助实现前端动静分离等等。具有高稳定,高性能,资源占用少,模块化结构以便管理的特
- 私有gitlab服务迁移
Box_clf
linux配置gitlab数据迁移
备份数据查看版本信息在老机器上先进行数据备份gitlab-rakegitlab:backup:create使用备份命令后,在/var/opt/gitlab/backups/路径下会有备份的一个压缩包在服务器上需要安装和老git服务同样的版本,查看老版本gitlab信息cat/opt/gitlab/embedded/service/gitlab-rails/VERSION新机器CentOS上安装配置
- Ruby代码编辑器 --- RubyMine 中文
*橙子
officeruby编辑器开发语言
RubyMine是一款专为Ruby和Rails开发者设计的集成开发环境(IDE)。它提供了智能代码编辑、便捷的导航和调试功能,以及强大的代码分析和重构工具。RubyMine支持多种Ruby和Rails框架版本,方便开发者进行项目配置和版本控制。此外,RubyMine还具有自动完成、代码重构和内置的终端等功能,可以帮助开发者提高编程效率。总的来说,RubyMine是一款功能强大的Ruby和Rails
- bash 相关
saronic
修改bash的提示符askubuntu.com原文Currentlyitis:michael@Castle2012-Ubuntu-laptop01:~/Dropnot/webs/rails_v3/linker/spec/controllers$wantto:michael:controllers$TochangeitforthecurrentterminalinstanceonlyJustente
- 关于Ruby on Rails缓存,您知多少?如何充分利用缓存策略提示Web应用性能
WPHunter
数据库基础与实践前端开发知识&教程前端rubyonrails缓存redismemcached
缓存对于提高Web应用程序的性能和可扩展性至关重要–RubyonRails中的缓存也不例外。通过存储和重复使用昂贵的计算或数据库查询的结果,缓存大大减少了服务用户请求所需的时间和资源。在这里,我们回顾了如何在Rails中实现不同类型的缓存,如片段缓存和俄罗斯娃娃缓存。我们还将向你展示如何管理缓存依赖和选择缓存存储,并概述在Rails应用程序中有效使用缓存的最佳实践。本文假定你熟悉Rails上的Ru
- ruby on rails_使用Railjet使Ruby on Rails步入正轨
weixin_26737625
python
rubyonrailsTL;DR:Design-patternscanhelpkeepyourRailscodemanageable.AtNedapwe’vedevelopedRailjettohelpussticktospecificdesignpatterns.TL;DR:设计模式可以帮助保持Rails代码的可管理性。在Nedap,我们开发了Railjet以帮助我们坚持特定的设计模式。Almo
- Ruby on Rails 学习(二)——Rails的目录结构
vito0705
Ruby&Railsrails结构rubyonrails
在学习rails时,我们有必要了解rails程序中的目录结构。rails对于不同的文件,不同的代码存放在什么样的文件目录中有着明确要求。在rails中,有一条原则是:“惯例优于设置”(ConventionOverConfiguration),按照rails的约定去编程,往往能起到事半功倍的效果。在这里,我们将对rails程序中的主要的文件及文件夹进行介绍。一个具有MVC完整结构的目录结构首先,我们
- SQL的各种连接查询
xieke90
UNION ALLUNION外连接内连接JOIN
一、内连接
概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。
内连接(join 或者inner join )
SQL语法:
select * fron
- java编程思想--复用类
百合不是茶
java继承代理组合final类
复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书
一:组合语法:就是将对象的引用放到新类中即可
代码:
package com.wj.reuse;
/**
*
* @author Administrator 组
- [开源与生态系统]国产CPU的生态系统
comsci
cpu
计算机要从娃娃抓起...而孩子最喜欢玩游戏....
要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节....
投入一些资金和资源,人力和政策,让游
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
商人shang
jvm内存
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
HotSpot虚拟机GC算法采用分代收
- 页面上调用 QQ
oloz
qq
<A href="tencent://message/?uin=707321921&Site=有事Q我&Menu=yes">
<img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a>
- 一些问题
文强chu
问题
1.eclipse 导出 doc 出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 .....
SQL:3.mysql * 必须得放前面 否则 select&nbs
- 生活没有安全感
小桔子
生活孤独安全感
圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明
- php 基础语法
aichenglong
php 基本语法
1 .1 php变量必须以$开头
<?php
$a=” b”;
echo
?>
1 .2 php基本数据库类型 Integer float/double Boolean string
1 .3 复合数据类型 数组array和对象 object
1 .4 特殊数据类型 null 资源类型(resource) $co
- mybatis tools 配置详解
AILIKES
mybatis
MyBatis Generator中文文档
MyBatis Generator中文文档地址:
http://generator.sturgeon.mopaas.com/
该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。
本文使用Markdown进行编辑,但是博客显示效
- 继承与多态的探讨
百合不是茶
JAVA面向对象 继承 对象
继承 extends 多态
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字:
在A类中定义属性和方法;
class A{
//定义属性
int age;
//定义方法
public void go
- JS的undefined与null的实例
bijian1013
JavaScriptJavaScript
<form name="theform" id="theform">
</form>
<script language="javascript">
var a
alert(typeof(b)); //这里提示undefined
if(theform.datas
- TDD实践(一)
bijian1013
java敏捷TDD
一.TDD概述
TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。
- [Maven学习笔记十]Maven Profile与资源文件过滤器
bit1129
maven
什么是Maven Profile
Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息
Profile的激活机制
1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P
- 【Hive八】Hive用户自定义生成表函数(UDTF)
bit1129
hive
1. 什么是UDTF
UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集
2. 如何实现UDTF
继承org.apache.hadoop.hive.ql.udf.generic
- tfs restful api 加auth 2.0认计
ronin47
目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点:
一是基于客户端的ip设置。这个比较容易实现。
二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。
现在重点介绍第二种方法实现思路。
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe
- jdk环境变量配置
byalias
javajdk
进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:
1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe
2、安装jdk-7u79-windows-x64.exe
3、配置环境变量:右击"计算机"-->&quo
- 《代码大全》表驱动法-Table Driven Approach-2
bylijinnan
java
package com.ljn.base;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.uti
- SQL 数值四舍五入 小数点后保留2位
chicony
四舍五入
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:
select cast(round(12.5,2) as numeric(5,2))  
- c++运算符重载
CrazyMizzz
C++
一、加+,减-,乘*,除/ 的运算符重载
Rational operator*(const Rational &x) const{
return Rational(x.a * this->a);
}
在这里只写乘法的,加减除的写法类似
二、<<输出,>>输入的运算符重载
&nb
- hive DDL语法汇总
daizj
hive修改列DDL修改表
hive DDL语法汇总
1、对表重命名
hive> ALTER TABLE table_name RENAME TO new_table_name;
2、修改表备注
hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm
- jbox使用说明
dcj3sjt126com
Web
参考网址:http://www.kudystudio.com/jbox/jbox-demo.html jBox v2.3 beta [
点击下载]
技术交流QQGroup:172543951 100521167
[2011-11-11] jBox v2.3 正式版
- [调整&修复] IE6下有iframe或页面有active、applet控件
- UISegmentedControl 开发笔记
dcj3sjt126com
// typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
// UISegmentedControlStylePlain, // large plain
&
- Slick生成表映射文件
ekian
scala
Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包
"com.typesafe.slick" %% "slick-codegen" % slickVersion
因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包
"com.typesa
- ES-TEST
gengzg
test
package com.MarkNum;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation
- 为何外键不再推荐使用
hugh.wang
mysqlDB
表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。
在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不
- 领域驱动设计
julyflame
VODAO设计模式DTOpo
概念:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对
- 单例设计模式
hm4123660
javaSingleton单例设计模式懒汉式饿汉式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
&nb
- logback
zhb8015
loglogback
一、logback的介绍
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class
- 整合Kafka到Spark Streaming——代码示例和挑战
Stark_Summer
sparkstormzookeeperPARALLELISMprocessing
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版
- spring-master-slave-commondao
王新春
DAOspringdataSourceslavemaster
互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。
为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数