我需要对正在使用的生产数据库进行更改.只需添加几列.我已经通过迁移对dev数据库进行了更改.在保留现有数据的同时更新生产数据库并且不会过多地中断操作的最佳方法是什么?
它是MYSQL,我将需要向列添加数据以及已有的记录.一列可以有一个默认值(它是布尔值),但另一列是时间戳,应该有一个任意的后退值.行数并不大.
因此,如果我使用迁移,我如何添加数据?如何才能实现这两个(或三个 - 我在生成数据库上添加数据时最多的迁移,而不是最初是通过迁移构建的(我相信他们使用了架构而不是)?
有没有人比较过各种后台处理技术的开销?
背景/ RB,Starling,Workling MemcacheQ Beanstalk后台作业(Bj)delayed_job(Dj)
我将在片上实现其中一个,并想知道它们占用了多少内存,因此我可以将其纳入我的决策制定中.
您如何模拟出版物(文章,书籍,章节等)的引用和引用?
出版物可以是文章,书籍或章节,它有许多参考其他出版物和其他出版物参考它(称这些引用)
我需要能够列出出版物之间的关系:出版物中的参考文献以及其他出版物对本出版物的引用
我最初的理解是,这将是处理不同类型的出版物的多态关系,并且它需要双向自联接.
我刺伤了它
Publication
belongs_to :writing, :polymorphic =>true
has_and_belongs_to_many :references
:class_name => "Publication"
:join_table => 'reference_citation'
:foreign_key => 'reference_id'
:foreign_key => 'citation_id'
Book, Chapter, Article all have:
has_many :publications :as =>writing
Run Code Online (Sandbox Code Playgroud)
我发现这有点令人困惑,所以任何有助于澄清它的建议都会很棒.甚至是对象和字段命名建议.
[我在这里问了一个不太清楚的问题.]
我也可能需要使用很多通过因为我需要能够破坏关系
我想要一个Cucumber功能测试设计的可记忆功能(记住我的cookie).
使用capybara很容易检查记住我复选框但是我应该如何模拟关闭窗口后返回网站的用户?
是否有一个rails插件可以按字母顺序进行分页/导航?
我有一个非常大的数据集,并且除了1..2 ... 3 ... 4 ... 5分页外,更喜欢为用户提供更直接的导航提示.
我可以自己编写代码但是想知道是否有一个像样的插件已经可以为我做了.
在一小块(256MB)上运行Rails时,主要的问题和技巧是什么?狭窄区域的最佳服务器设置是什么?乘客,Nginx,Mongrel?在这种环境中最好的后台任务处理器是什么?你需要注意什么?我很想听听那些做过这件事并碰到一些虚拟墙的人的故事.
在Rails中维护记录编辑历史的最佳/最干净/最简单的方法是什么?
我正在寻找日志记录 - 谁进行了编辑,何时以及能够回滚到早期版本的记录.
我的猜测是你会在更新或删除时使用ActiveRecord回调,而不是更新/删除记录,你会创建一个新的记录,并有一些标识符来保持相关的"记录"关联,也许是一个字段来区分哪个记录是当前的和版本字段.
我依稀记得看到一些插件,但我现在似乎无法找到它们
(我不知道这个术语吗?)
有人有Rails工作流插件的经验吗? Route/OpenWFEru.
我正在寻找CMS类型的工作流程,其中包括编辑,提交,批准,回滚等基于角色的状态.这个插件是否过度杀伤?使用状态机(AASM)做同样的事情并作为版本化的可审计/行为,我会更好吗?
我正在尝试切换到使用HAML查看我的视图,但我不断收到意外的KENSURE消息.我用html2haml来切换工作视图文件.首先通过它告诉我,我不需要html2haml在其输出中的结束所以我删除它,现在我得到错误,看起来它抱怨表单没有结束.
我究竟做错了什么?
错误信息:
compile error
app/views/sessions/new.html.haml:20: syntax error, unexpected kENSURE, expecting kEND
app/views/sessions/new.html.haml:22: syntax error, unexpected $end, expecting kEND
Run Code Online (Sandbox Code Playgroud)
application.html.haml:
!!!
%html
%head
%title
= APP_CONFIG[:site_name] + ': ' + @page_title
== <meta http-equiv="content-type" content="text/xhtml; charset=utf-8" />
== <meta http-equiv="imagetoolbar" content="no" />
== <meta name="distribution" content="all" />
== <meta name="robots" content="all" />
== <meta name="resource-type" content="document" />
== <meta name="MSSmartTagsPreventParsing" content="true" />
= stylesheet_link_tag 'base'
= javascript_include_tag :defaults
%body
#container
#header
- if logged_in?
= link_to 'Logout', logout_path
- else …Run Code Online (Sandbox Code Playgroud) activerecord ×2
ruby ×2
cucumber ×1
devise ×1
haml ×1
migration ×1
pagination ×1
plugins ×1
production ×1
slice ×1
sql ×1
transactions ×1
vps ×1
workflow ×1