首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >数据库默认值导致意外的最小结果

数据库默认值导致意外的最小结果
EN

Stack Overflow用户
提问于 2022-07-03 02:43:38
回答 1查看 33关注 0票数 0

Rails 7.0迁移包含属性t.bigint :status_id, default: 6,该属性在模型中调用如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
belongs_to :status, class_name: 'Categoryminor'

如果运行测试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
shop = Shop.new(name: 'apatride')
assert shop.valid?

单元测试将抱怨#<ActiveModel::Errors [#<ActiveModel::Error attribute=status, type=blank, options={:message=>:required}>]>,尽管模式清楚地声明了t.bigint "status_id", default: 6并使用postgresql进行验证,默认值在那里定义得很好。

更改类

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
belongs_to :status, class_name: 'Categoryminor', optional: true

允许考试通过,但这有点荒谬.如果有默认值,则属性不能为空。

这是怎么回事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-03 02:52:06

从rails 5开始,belongs_to关系就有存在性验证。仅仅放置一个随机的status_id是不够的。CategoryMinor表中必须有id为6的记录,在测试的情况下,必须正确地调用夹具。

解决这一问题的两种实际方法:

status: id: 6

  • write中添加一个id值--在没有id的情况下调用对象的测试--后者不是独立的,但不太容易使用进一步的
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72845809

复制
相关文章
关于 i=i++; 出乎意外的结果
所以,我们就知道, ++运算符会返回一个值,如果前置,则返回操作对象递增之后的值,如果后置,则返回操作对象递增之前的值。
用户9914333
2022/07/22
7340
囧...执行analyze table意外导致waiting for table flush
以前记录的文章中的案例2,但是其实并不一样,这里是由于analyze table语句造成的。
老叶茶馆
2021/02/23
7580
囧...执行analyze table意外导致waiting for table flush
Typecho分隔符导致意外空白修复
在网上查看很多的帖子都是在 hypedown模块中注释掉对 \n 的解析 这样的做法是不行的,因为这样文章中的换行就会失效,所有的文字就堆到一起了。
雪碧君
2023/02/13
2660
疑惑: Go const 导致程序结果错乱 ?
const 是 Go 里面我们经常使用的关键字, 基本上很难玩出花来. 不过某些特殊情况下 const 会出现你意想不到的结果
haohongfan
2021/04/26
6090
疑惑: Go const 导致程序结果错乱 ?
公司同事用float和double,结果导致..
BigDecimal 阿粉相信大家对这个肯定不陌生,只要你公司的业务中涉及到一些比较精确的数字的时候,都会使用 BigDecimal,而不会去使用 Float 和 double,并且在数据库做设计的时候,如果是小数类型,也是会让你使用 BigDecimal 而不是 float 和 double。为什么呢?阿粉来解释一下。
Java极客技术
2022/12/02
8180
数据库——最小支持度&最小置信度
💬个人网站:【芒果个人日志】​​​​​​ 💬原文地址:数据库——最小支持度&最小置信度 - 芒果个人日志 (wyz-math.cn) 💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较深入的研究。 💅文章概要:本篇文章主要讲述了数据库中最小支持度
THUNDER王
2023/02/23
5550
SQL数据库-新增字段时,给默认值的方法
alter table 表名 ADD 字段 int NOT NULL DEFAULT 0
Lic工作室
2021/04/29
1.9K0
SQL数据库-新增字段时,给默认值的方法
记一次生产数据库"意外"重启的经历
在一个阳光明媚的下午,电脑右下角传来一片片邮件提醒,同时伴随着微信钉钉的震动,打开一看,应用各种出错,天兔告警,数据库服务器内存爆红,Mysql数据库实例挂掉了。
Java_老男孩
2019/12/03
4900
记一次生产数据库"意外"重启的经历
记一次生产数据库"意外"重启的经历
在一个阳光明媚的下午,电脑右下角传来一片片邮件提醒,同时伴随着微信钉钉的震动,打开一看,应用各种出错,天兔告警,数据库服务器内存爆红,Mysql数据库实例挂掉了。
小柒2012
2018/12/24
7570
【CPU 比 GPU 快两倍?】谷歌云 TensorFlow 基准实测意外结果
【新智元导读】英特尔与英伟达在数据中心市场激烈竞争:截止 4 月 30 日,英伟达的收入同比增长了 48%,达到 19.4 亿美元;但数据表明,英特尔不仅没有失去数据中心市场,地位反而更加稳固。另一方面,在个人训练深度学习模型时,也会在云端 CPU 和 GPU 间做出选择。前苹果工程师 Max Woolf 做了测评——由于谷歌云平台的收费规则,在有些情况下,使用 CPU 比 GPU 在经济上更划算。 英特尔和英伟达正在新的市场——蒸蒸日上的数据中心上展开竞争,而其中核心的部分自然是人工智能(AI)。截止 4
新智元
2018/03/27
2K0
【CPU 比 GPU 快两倍?】谷歌云 TensorFlow 基准实测意外结果
记一次生产数据库"意外"重启的经历
在一个阳光明媚的下午,电脑右下角传来一片片邮件提醒,同时伴随着微信钉钉的震动,打开一看,应用各种出错,天兔告警,数据库服务器内存爆红,Mysql数据库实例挂掉了。
小柒2012
2019/12/09
9690
记一次生产数据库"意外"重启的经历
数据库攻击导致机器卡
以上情况,按常理应该访问不卡才是,可VNC里感受机器操作就是很卡,点下鼠标过几十秒才响应
Windows技术交流
2021/09/29
4300
成员变量的默认值
int类型的默认值是0 String类型的默认值是null double类型的默认值是0.0d Integer类型的默认值是null Long类型的默认值是null long类型的默认值是0L float类型的默认值是0.0f char类型的默认值是\u0000 byte类型的默认值是(byte)0 short类型的默认值是(short)0
gfu
2019/09/18
2.6K0
数据库PostrageSQL-客户端连接默认值
client_min_messages (enum) 控制被发送给客户端的消息级别。有效值是DEBUG5、 DEBUG4、DEBUG3、DEBUG2、 DEBUG1、LOG、NOTICE、 WARNING、ERROR。 每个级别都包括其后的所有级别。级别越靠后,被发送的消息越少。默认值是NOTICE。 注意LOG在这里有与log_min_messages中不同的排名。 INFO 级别的消息总是被发送到客户端。
cwl_java
2020/11/13
4.3K0
hibernate 插入数据时让数据库默认值生效
用hibernate做数据库插入操作时,在数据库端已经设置了对应列的默认值,但插入的数据一直为null。查找资料发现,原来是hibernate的配置项在作怪。 Hibernate允许我们在映射文件里控制insert和update语句的内容.比如在映射文件中<property 元素中的update属性设置成为false,那么这个字段,将不被包括在基本的update语句中,修改的时候,将不包括这个字段了.insert同理.dynamic动态SQL语句的配置也是很常用的.下面介绍配置SQL语句的具体属性: 1)
小柒2012
2018/04/13
1.5K0
意外的键盘输入
ok,经过一番精心的查看,原因是用户在使用鼠标书写收到了来自键盘的输入,而刚刚好我在业务上又监听了PreviewTextInput事件,在进行键盘输入时清理书写笔迹。于是问题就找到啦~~
黄腾霄
2020/06/10
1.1K0
数据恢复:如何恢复Linux中意外删除的Oracle和MySQL数据库
张乐奕 云和恩墨副总经理,Oracle ACE总监,ACOUG 联合创始人 没有删除过数据库的DBA职业生涯是不完整的,删除过数据库还能幸存的DBA一定是订阅了“Oracle”公众号。 昨晚有朋友在微信群中求助讨论,误删除了一个MySQL的数据库,整个恢复过程和以下文章中提到的步骤完全相同,只要MySQL主进程还没有退出,从文件句柄中可以恢复文件最终挽回损失。类似的lsof找到那些被标记为Deleted的文件(以下是参考示意图)。 让我们完整的再复习一下这篇文章的步骤,一定要记住这种方法: 今天有
数据和云
2018/03/06
4.1K0
数据恢复:如何恢复Linux中意外删除的Oracle和MySQL数据库
死磕 java同步系列之ReentrantLock VS synchronized——结果有点出乎意外
synchronized是Java原生提供的用于在多线程环境中保证同步的关键字,底层是通过修改对象头中的MarkWord来实现的。
彤哥
2019/07/08
7030
LeetCode 2232. 向表达式添加括号后的最小结果
给你一个下标从 0 开始的字符串 expression ,格式为 "<num1>+<num2>" ,其中 <num1> 和 <num2> 表示正整数。
Michael阿明
2022/11/27
3710
LintCode 1816. 使结果不超过阈值的最小除数(二分查找)
给你一个整数数组 nums 和一个正整数 threshold ,你需要选择一个正整数作为除数,然后将数组里每个数都除以它,并对除法结果求和。
Michael阿明
2021/02/19
5050

相似问题

循环导致意外的结果。

20

流排序()导致意外结果

23

在最小瓶Java代码中意外的结果

10

GridBagLayout Java - weightY导致意外结果

14

UNIX:条件检查导致意外结果

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文