beego Raw().QueryRows()的映射规则是什么
这是我使用的结构:
type ProcessingNetworkDataProviderConfig struct {
Id int
NetworkId int
DataProviderId int
DistributorId int
EnableTargeting int
EnableReporting int
UsePrivateData int
UseExternalUserId int
UseUserMapping int
UseUserAttributes int
UserExchangeUrl string
EnableCache int
EnableBloomFilter int
EnableDisplayAds int
EnableResellerMode int
EnableVisitorReporting int
Nsql string
MaxSegmentNumber int
ExpirationDays int
DeltaIngest int
Pkg int
Trackednum int
Comment string
ProcessingStatus string
}
这是 MySQL 中的表(desc processing_network_data_provider_config):
+--------------------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------------+---------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| network_id | bigint(20) | NO | MUL | NULL | |
| data_provider_id | bigint(20) | NO | MUL | NULL | |
| distributor_id | bigint(20) | YES | MUL | NULL | |
| enable_targeting | tinyint(1) | NO | | 0 | |
| enable_reporting | tinyint(1) | NO | | 0 | |
| use_private_data | tinyint(1) | NO | | 0 | |
| use_external_user_id | tinyint(1) | NO | | 0 | |
| use_user_mapping | tinyint(1) | NO | | 0 | |
| use_user_attributes | tinyint(1) | NO | | 1 | |
| user_exchange_url | varchar(255) | YES | | NULL | |
| enable_cache | tinyint(1) | NO | | 1 | |
| enable_bloom_filter | tinyint(1) | NO | | 0 | |
| enable_display_ads | tinyint(1) | NO | | 1 | |
| enable_reseller_mode | tinyint(1) | NO | | 0 | |
| enable_visitor_reporting | tinyint(1) | NO | | 1 | |
| Nsql | varchar(2000) | YES | | NULL | |
| seg_num | int(11) | YES | | NULL | |
| exp_date | int(11) | YES | | NULL | |
| delta_ingest | tinyint(1) | YES | | NULL | |
| package | tinyint(1) | YES | | NULL | |
| tracked_num | int(11) | YES | | NULL | |
| Comment | varchar(2000) | YES | | NULL | |
| ProcessingStatus | varchar(30) | YES | | NULL | |
+--------------------------+---------------+------+-----+---------+----------------+
我用它来读取数据库:
var tt []*ProcessingNetworkDataProviderConfig
sql := `SELECT * FROM processing_network_data_provider_config`
if _, err := o.Raw(sql).QueryRows(&tt); err != nil {
fmt.Println("fff wo")
beego.Error("Error when querying network configuration: ", err.Error())
}
fmt.Println(tt[0])
输出是:
&{49 1271 1 -1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 }
不过,这里面应该有一些字符串,它们在哪里? 我想是映射规则导致它失败了,对吗?
最佳答案
https://beego.me/docs/mvc/model/models.md
根据命名约定,您的结构字段名称将转换为 snake_case 以用于您的数据库模式,我注意到您在模式中的“ProcessingStatus”。所以我相信你有两个选择:
1.将“ProcessingStatus”列重命名为snake_case
2. 对你的结构标签使用特殊映射:
ProcessingStatus string `orm:"column(processing_status)"
关于mysql - Beego QueryRows 映射失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51202540/
我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co
我正在尝试在Rails上安装ruby,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf
我需要一个非常简单的字符串验证器来显示第一个符号与所需格式不对应的位置。我想使用正则表达式,但在这种情况下,我必须找到与表达式相对应的字符串停止的位置,但我找不到可以做到这一点的方法。(这一定是一种相当简单的方法……也许没有?)例如,如果我有正则表达式:/^Q+E+R+$/带字符串:"QQQQEEE2ER"期望的结果应该是7 最佳答案 一个想法:你可以做的是标记你的模式并用可选的嵌套捕获组编写它:^(Q+(E+(R+($)?)?)?)?然后你只需要计算你获得的捕获组的数量就可以知道正则表达式引擎在模式中停止的位置,你可以确定匹配结束
我正在尝试在配备ARMv7处理器的SynologyDS215j上安装ruby2.2.4或2.3.0。我用了optware-ng安装gcc、make、openssl、openssl-dev和zlib。我根据README中的说明安装了rbenv(版本1.0.0-19-g29b4da7)和ruby-build插件。.这些是随optware-ng安装的软件包及其版本binutils-2.25.1-1gcc-5.3.0-6gconv-modules-2.21-3glibc-opt-2.21-4libc-dev-2.21-1libgmp-6.0.0a-1libmpc-1.0.2-1libm
一段时间以来,我一直在使用open_uri下拉ftp路径作为数据源,但突然发现我几乎连续不断地收到“530抱歉,允许的最大客户端数(95)已经连接。”我不确定我的代码是否有问题,或者是否是其他人在访问服务器,不幸的是,我无法真正确定谁有问题。本质上,我正在读取FTPURI:defself.read_uri(uri)beginuri=open(uri).readuri=="Error"?nil:urirescueOpenURI::HTTPErrornilendend我猜我需要在这里添加一些额外的错误处理代码...我想确保我采取一切预防措施来关闭所有连接,这样我的连接就不是问题所在,但是我
我在思考流量控制的最佳实践。我应该走哪条路?1)不要检查任何东西并让程序失败(更清晰的代码,自然的错误消息):defself.fetch(feed_id)feed=Feed.find(feed_id)feed.fetchend2)通过返回nil静默失败(但是,“CleanCode”说,你永远不应该返回null):defself.fetch(feed_id)returnunlessfeed_idfeed=Feed.find(feed_id)returnunlessfeedfeed.fetchend3)抛出异常(因为不按id查找feed是异常的):defself.fetch(feed_id
我正在为毕业设计开发GEM,TravisCI构建不断失败。这是我在Travis上的链接:https://travis-ci.org/ricardobond/perpetuus/builds/8709218构建错误是:$bundleexecrakerakeaborted!Don'tknowhowtobuildtask'default'/home/travis/.rvm/gems/ruby-1.9.3-p448/bin/ruby_noexec_wrapper:14:in`eval'/home/travis/.rvm/gems/ruby-1.9.3-p448/bin/ruby_noexec_
我看到其他人也遇到过类似的问题,但没有一个解决方案对我有用。0.3.14gem与其他gem文件一起存在。我已经完全按照此处指示完成了所有操作:https://github.com/brianmario/mysql2.我仍然得到以下信息。我不知道为什么安装程序指示它找不到include目录,因为我已经检查过它存在。thread.h文件存在,但不在ruby目录中。相反,它在这里:C:\RailsInstaller\DevKit\lib\perl5\5.8\msys\CORE\我正在运行Windows7并尝试在Aptana3中构建我的Rails项目。我的Ruby是1.9.3。$gemin
如果names为nil,则以下中断。我怎样才能让这个map只有在它不是nil时才执行?self.topics=names.split(",").mapdo|n|Topic.where(name:n.strip).first_or_create!end 最佳答案 其他几个选项:选项1(在其上执行map时检查split的结果):names_list=names.try(:split,",")self.topics=names_list.mapdo|n|Topic.where(name:n.strip).first_or_create!e