问题标签 [schema.rb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 在 git 中管理 schema.rb 的首选方法是什么?
我不想添加schema.rb
到.gitignore
,因为我希望能够从该文件加载新的数据库模式。但是,保持它处于检查状态会导致各种虚假冲突,这些冲突很容易通过新的db:migrate:reset
.
基本上我想要一种方法:
- 将 schema.rb 保存在存储库中以进行部署时数据库设置
- 将 schema.rb 保存在 '.gitignore' 中以进行一般开发
会有一两个人负责更新schema.rb
并知道它是正确的。
有没有办法让我也吃蛋糕?
ruby-on-rails - Rails:我更新迁移文件然后运行 db:migrate,但我的架构没有更新
我正在尝试在我的一张表中添加一个额外的字段。
我已经在迁移文件中添加了该字段(在 db\migrate 下),然后运行“rake db:migrate”,它运行没有问题。我的文本编辑器甚至告诉我我的 schema.db 文件已更新,需要刷新。
架构文件不包含我的新字段,并且从我的视图中引用该字段的任何尝试都失败了。
我该怎么做呢?是否可以通过 rails 更新带有额外字段的表,而不必完全删除并再次重新创建数据库?
ruby-on-rails - 我应该扁平化 Rails 迁移吗?
可以将 db/migrate/* 替换为 db/schema.rb 的内容,这样您就只有一个迁移步骤。
你们中有人这样做过吗?为什么?
ruby-on-rails - Capistrano 部署和 schema.rb
我是 Rails 的新手,我正在尝试部署我的第一个项目。我正在使用 rails 3、ruby 1.8.7、Passanger、Mysql 和 Git
我遵循了很多教程来学习如何使用 capistrano 进行部署,并且有一个我无法弄清楚的问题。在教程中他们从不谈论 schema.rb 如果这个文件负责我已经完成的迁移并且当我们部署应用程序时,capistrano 将所有文件复制到“当前”文件夹(schema.rb 到),它怎么能在生产服务器上进行正确的迁移。我应该告诉 capistrano 为“当前”文件夹创建一个到正确 schema.rb 文件的 simlink 吗?如果是的话,我该怎么做?坦克。
mysql - 如何使 Rails 生成具有对 MySQL 的 bigint 支持的“schema.rb”?
我正在使用 Rails 3.0.5。我使用 MySQL 作为数据库存储。我有一个模型,其中一列需要是 BIGINT。我在创建迁移文件中使用以下内容:
效果很好。
但是,当我跑步时
耙分贝:迁移
生成的“schema.rb”文件为特定列创建以下行:
这是不正确的。
我的问题是我哪里错了?为了获得正确的“schema.rb”文件,我应该做些什么?我可以更改“schema.rb”文件的生成方式吗?
请注意,“schema.rb”文件错误的事实会导致我的持续集成服务器出现问题,该服务器运行测试并使用“schema.rb”文件从头开始(在运行测试之前)创建数据库。
ruby-on-rails - 在 rails 中查看 schema.rb 中表的内容
如果这是一个愚蠢的问题,我很抱歉,但是在我的 schema.rb 中,我有几个表,例如
是否可以查看每个表的内容,即查看每条消息和相关的用户 ID、消息内容、创建时间、链接图像等?
谢谢
ruby-on-rails - 在带有 Foreigner Gem/Plugin 的 Ruby on Rails 中,外键设置是否应该在 Schema.rb 中可见?
我正在开发一个 Ruby on Rails 应用程序,并使用 foreigner 插件在迁移中设置外键约束,例如这样。
add_foreign_key(:notifications, :invitations, :dependent => :delete)
但是,当我运行迁移时
rake db:migrate
它运行,但我的 schema.rb 文件保持不变。更改不应该反映在那里以在另一个数据库上进行设置吗?
ruby - 使用 :sql 模式格式时如何使 rake db:migrate 生成 schema.rb
如果在中使用此选项config/application.rb
:
那么当你这样做时:
它只会转储db/structure.sql
. 我知道它没有使用,db/schema.rb
因为它正在使用该:sql
选项,但是你怎么能rake db:migrate
生成生成db/schema.rb
呢?
我们需要它,因为 RubyMine 4.5 和 IntelliJ IDea 11db/schema.rb
用于自动完成列。
ruby-on-rails - schema.rb 由于其他分支的迁移而搞砸了
目前我正在使用一个巨大的 rails 应用程序和多个分支,每个分支都有这个应用程序的新功能。经常发生需要迁移的功能,在您将其与 master 合并之前这应该不是问题:schema.rb 已使用您的开发数据库的信息进行了更新!
澄清:
在分支中的每次迁移之前重置+种子数据库或为每个分支创建数据库不是一个选项。由于 2 GB SQL 数据的巨大大小,它是行不通的。
我的问题:
是否真的需要将 schema.rb 保留在存储库中,因为每次迁移都会重建它?
如果是这样,是否可以从迁移而不是数据库转储中构建模式?
mysql - ruby on rails 中的 schema.rb 和 mysql 数据库问题
首先,我已经学习 Rails 8 个月了,但感觉就像我昨天开始的一样,所以请多多包涵。我正在尝试解决为什么我的价值(称为可见)无法正常运行。我正在使用 Simple_form。'visible' 是单选按钮值:
这个想法是 current_user 撰写评论 - 如果他们将其设为“公开”,则任何其他用户都可以看到它,如果是私人用户,则只有他们可以看到它。单选按钮工作正常 - 当我注销时,查看不同机器上的应用程序等,单选按钮处于上次保存的状态。问题是当前的评论@review 总是对每个人可见,无论单选按钮的状态如何。
我把<%= @review.visible? %>
审查表。每次我刷新页面时它都是“真”,即使单选按钮可能是假的。我保存评论,@review.visible 然后进行相应匹配。但后来我刷新,它又回到了真实。
我认为问题可能是:
在我的 schema.rb 我有:
我删除:default => true
了,没有任何改进,但我听说你不应该手动干预 schema.rb 反正。
你认为 default => true 是导致问题的原因吗?做一个“迁移”是要走的路吗?我如何在迁移中说出“默认 => true”部分?
最后,虽然我的 schema.rb 有“布尔”,但我的实际数据库有visible: tinyint(1)
,我认为这很可疑,但我在网上阅读过它们实际上是同一回事,所以我认为这不是问题 - 如果你认为不同,让我知道。