为什么 Rails 在 schema.rb 中的所有列上设置“:null => false”?

2023-12-21

即使我从未具体说明:null => false在我最初向表添加列的迁移中,rails 仍然在中生成代码schema.rb指定列具有:null => false。为什么是这样?如果我在我的盒子上开发,然后使用rake db:schema:load在我的生产盒子上,我会得到非常不同的行为!

编辑:即使我删除了schema.rb并运行rake db:schema:dump,它仍然把:null => false即使新模式的定义与实际数据库中的定义不同。它似乎无法判断列是否被标记为允许空值。如果有帮助的话我正在使用 SQLite。


我真的很讨厌这太微妙了,但问题是我正在使用sqlite3宝石代替sqlite3-ruby。当我在environment.rb中更正它后,一切都变得更好了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Rails 在 schema.rb 中的所有列上设置“:null => false”? 的相关文章

  • Rails 急切加载计数?

    使用 include 属性可以很好地进行预加载 Post find all include gt author 我想知道您是否也可以急切加载计数 例如我是否想获取每个帖子的评论数量 而不加载所有评论本身 也许像 Post find all
  • 将文件传递给活动作业/后台作业

    我通过标准文件输入接收请求参数中的文件 def create file params file upload Upload create file file filename img png end 但是 对于大型上传 我想在后台作业中执行
  • Rails - 使用 %W

    我有以下效果很好的 def steps w hello billing confirmation end steps first 但我想这样做 def step title w Upload a photo Billing Info Con
  • 如何使用 AngularJS、Devise 和 UI Router 全局实现身份验证?

    我对 Angular 很陌生 所以这可能是一个新手问题 我正在尝试实现一个简单的任务管理器 只是一个练习 以 Rails 作为后端 以 Angular 作为前端 到目前为止 我遵循了教程 一切正常 现在我想在全球范围内实施身份验证 这意味着
  • i18n:特定型号的错误消息本地化

    我可以为每个验证本地化错误消息 但如何为特定模型创建错误 普通的语言环境如下所示 en mongoid errors messages taken It is already taken 但我想更改消息user model en mongo
  • 在 Rails 中,我可以通过委托方法订购查询吗?

    我在通过委托方法订购查询时遇到困难 我的任务是帮助将一个相当大的 Rails 3 应用程序升级到 Rails 4 我在索引操作中遇到了这个查询 我知道这些对象的命名是可怕且令人困惑的 measurements controller rb d
  • 多租户 Rails 应用:不同技术的优缺点是什么?

    我最初是为一位客户编写 Ruby on Rails 应用程序的 现在 我正在更改它 以便它可以用于不同的客户 我的最终目标是某些用户 不是我 可以单击按钮并创建一个新项目 然后生成所有必要的更改 新架构 新表 代码处理 无需任何人需要我编辑
  • 将带撇号的字符串传递给辅助方法无法正确显示

    我正在使用 Rails 教程中的辅助方法 它将两个字符串连接在一起 以便在视图中的标题选择器中使用 它工作得很好 除非字符串中有撇号 当 group name 包含撇号时 结果如下 这是方法 app helpers application
  • Ruby/Rails - 访问“查找”表而不对其进行建模?

    这是针对 Ruby on Rails 3 0 x 项目的 我有一个 查找 表 其中包含来自供应商的数据 当我从其他来源导入数据时 我想检查此表 加入 SKU 以获取额外数据 在我的应用程序中为该表创建模型对我来说似乎不合适 我的应用程序永远
  • 适用于移动应用程序的 Rails REST API。会议

    我正在创建一个移动应用程序 该应用程序拥有用户并与后端的自定义 Rails REST API 进行通信 我应该在登录时创建会话吗 或者我应该在每个请求中发送用户名和密码 如果会议是可行的方法 那么通常是如何实施的 只需生成令牌 并使用它们来
  • MongoMapper 和 bson_ext 问题

    我无法让 MongoMapper 与我的 Rails 应用程序一起使用 我收到此错误消息 注意 C 扩展未加载 这是最佳 MongoDB Ruby 驱动程序性能所必需的 您可以按如下方式安装扩展 宝石安装 bson ext 如果安装后继续收
  • 使用简单的表单轨道删除日期选择中的日期时间和时间分隔符

    如何删除由名为 simple form 的 gem 创建的日期选择中的日期时间分隔符和时间分隔符 我想我必须重写initializesimple form 用于创建日期选择或在表单输入中传递哈希选项的方法 但这不起作用 我尝试这样的事情 f
  • 将 URL 转换为 JSON 版本?

    在我的应用程序的所有页面上 我想要一个指向当前页面的 JSON 版本的链接 有什么巧妙的技巧可以做到这一点吗 当 URL 中包含额外的 参数时 情况就变得复杂了 所以 url 将被转置为 users gt users json users
  • 将 gmaps4rails 与 https/SSL 结合使用

    我是 gmaps4rails 的忠实粉丝 它使向我们的网络应用程序添加地图变得非常容易 我现在遇到的唯一问题是 如果您在 https 页面上使用它 则会收到有关混合内容的安全警告 谷歌地图API确实支持https 所以我认为这只是将脚本引用
  • 在 SCSS 部分中使用 Rails 3.1 资源路径

    我有以下设置 app assets stylesheets application css scss require self require fancybox COLORS MIXINS FONT STACKS IMPORTS impor
  • 使用 Devise 嵌套资源 - Rails3

    我正在尝试设置一个配置文件控制器来与设备注册成员一起使用 我已经创建了Profile模型和控制器并添加了one to one relationship通过增加belongs to member to my 配置文件 rb模型和has one
  • 如何在 Rails 应用程序中删除 URL 的尾部斜杠? (在 SEO 视图中)

    为了避免内容重复 我希望避免通过多个 URL 带或不带尾部斜杠 访问我的网站页面 目前 URL catalog product 1 and catalog product 1 导致同一页面 我的目标是将第二个 URL 重定向到第一个 当然是
  • Rails 没有选择 en.yml 中的自定义日期和时间格式

    我对 Rails 中的 I18N 不太熟悉 所以请耐心等待 尝试设置自定义日期和时间格式 config locales en yml en date formats long dateweek A B d Y time formats ve
  • 更改 Rails 中的默认错误消息

    我们的客户决定 他们希望整个应用程序中所有空白 AR 错误消息从 不能为空 更改为 必须完成 Rails 最简单的方法是什么 Use config locales en yml 具体来说 将以下内容放入该文件中 en activerecor
  • ActiveSupport::JSON 解码哈希丢失符号

    我正在尝试序列化和反序列化哈希 当散列被解除序列化时 密钥被解除符号化 例如不是更多 一 而是 一 从 Rails 控制台 gt gt h one gt 1 two gt two one gt 1 two gt two gt gt j Ac

随机推荐

  • 对(flask-restful)GET API 调用进行单元测试时出现 500 INTERNAL SERVER ERROR

    我已经对我的 Flask restful API 模块中的所有方法进行了单元测试 现在我想通过实际进行 API 调用来测试 get 方法 我预计此测试会出现错误 400 我的资源类 class Response Resource marsh
  • WPF 本地化:使用 StringFormat 的动态资源?

    我正在使用 ResourceDictionary 在 NET 4 中进行本地化 有人有使用字符串格式的值的解决方案吗 例如 假设我有一个带有 SomeKey 键的值
  • 如何从 GameScene 中的 ViewController 调用方法

    我的 viewController 中有一个自定义 segue 的方法 如下所示 func gameOver performSegueWithIdentifier GameOver sender nil 我在 GameScene swift
  • MySQL表间自增

    在MySQL中 是否可以在两个不同的表中拥有自动递增的列 示例 table1 具有 secondaryid 列 table2 也具有 secondaryid 列 table1 secondaryid 和 table2 secondaryid
  • 以编程方式清除应用程序的数据

    我想以编程方式清除应用程序的数据 应用程序的数据可能包含数据库 共享首选项 内部 外部文件或应用程序内创建的任何其他文件等任何内容 我知道我们可以通过以下方式清除移动设备中的数据 设置 gt 应用程序 gt 管理应用程序 gt 我的应用程序
  • Angular2 ComponentRouter 防止自动组件重用[重复]

    这个问题在这里已经有答案了 文档https angular io docs ts latest guide router html https angular io docs ts latest guide router html stat
  • 咖啡脚本中的 switch case 语句

    我有几个不同的按钮调用相同的函数 我希望将它们包装在 switch 语句中 而不是使用一堆 else if 条件 任何帮助都会很棒 events click red blue black yellow openOverlay openOve
  • 如何计算Android项目中作为依赖项添加的库的大小

    我正在一个项目中使用多个库 例如 google play service retrofit gson glide twitter 和 facebook sdk 所以我想知道每个库在我的应用程序中占用的确切大小 请帮助我是否有任何可能的方法来
  • iOS 运动检测:运动检测灵敏度级别

    我有一个简单的问题 我正在尝试检测用户何时摇动 iPhone 我有标准代码来检测运动 这没有问题 然而 在我的实际手机上进行测试时 我意识到你必须用力摇动设备才能触发运动检测 我想知道是否有办法实施一定程度的敏感性检查 例如 一种检测用户是
  • SparkSQL 是 RDBMS 还是 NOSQL?

    最近和朋友讨论Spark SQL的特性时 遇到了这个问题 它们是 ACID 事务吗 Spark SQL 遵循 CAP 定理吗 我对这个领域有点陌生 请帮助我 提前致谢 SparkSQL 是一种查询语言 而不是像 Hive 或 MYSQL 那
  • Android OpenGL ES 和 2D

    嗯 这是我的要求 我还不知道OpenGL 而且我也不愿意学习它 我想直接学习OpenGL ES 因为我的开发目标是android 我想学习 OpenGL ES 以发展我的能力2D游戏 我选择它是出于性能目的 因为基本的 SurfaceVie
  • 名词、动词、形容词等的单独单词列表

    通常单词列表是 1 个包含所有内容的文件 但是是否有可单独下载的名词列表 动词列表 形容词列表等 我特别需要它们来学习英语 如果您只下载数据库文件wordnet princeton edu download 当前版本 https wordn
  • 多个字段的 Laravel SUM 使用原始查询返回 null

    以下是我的查询 sales DB table sales gt leftJoin category sales category sales sale id sales id gt leftJoin department sales dep
  • 使用javascript的最大子数组[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定一个整数数组 nums 找到连续的子数组 至少包含一个数字 其总和最大并返回其总和 Example 输入 2 1 3 4 1 2
  • 将外来字符更改为对应的罗马字符

    我正在使用 php 我想知道是否有一种预定义的方法可以将外来字符转换为非外来字符 字符如 一切都导致 e 我正在寻找一个函数 它接受一个字符串并返回它 不带特殊字符 任何想法将不胜感激 在找不到合适的转换器之后 我创建了自己的集合来满足我的
  • 调用 Windows 安全对话框(在 C# 或 VB.NET 中)

    我想知道如何调用 Windows 安全对话框 在 Windows 工作站上按 ctrl alt del注意 我不需要任务管理器 以编程方式 在 XP 工作站上 不必担心 Win7 或 Vista 最好有一个 C 快速示例 如果必须的话 也可
  • .remove() 在 Internet Explorer 中不起作用[重复]

    这个问题在这里已经有答案了 此代码在 Google Chrome 中运行良好 但在 Internet Explorer 中不起作用 document getElementsByClassName info i remove 有没有其他方法可
  • Shell 脚本来源:未找到

    我正在运行以下简单脚本来测试代码块 bin bash Load nvm and install latest production node source HOME nvm nvm sh nvm install v0 10 12 nvm u
  • Kotlin:流与序列 - 为什么有多种方法来做同一件事?

    为什么在 Kotlin 中有多种方法可以做同样的事情 这是有原因的吗 val viaSequence items asSequence filter it 2 0 map it 2 toList println viaSequence va
  • 为什么 Rails 在 schema.rb 中的所有列上设置“:null => false”?

    即使我从未具体说明 null gt false在我最初向表添加列的迁移中 rails 仍然在中生成代码schema rb指定列具有 null gt false 为什么是这样 如果我在我的盒子上开发 然后使用rake db schema lo