是否有一个Git命令(或一小段命令)可以安全可靠地执行以下操作?
目前我坚持:
git fetch -p
git stash
git stash drop
git checkout $branch
git pull
Run Code Online (Sandbox Code Playgroud)
但它困扰我,因为我要求密码两次(由fetch和pull).通常我会对任何解决方案感到满意,只要密码只需要一次即可.
几个笔记:
我非常喜欢Rails 3样式的迁移,即一种change智能足以识别迁移是否正在安装或回滚的方法,因此我不必编写up和down方法相互镜像.但我有一种情况,我需要在回滚迁移时跳过一些代码(更新counter_cache我正在添加的列).
我查看了http://guides.rubyonrails.org/migrations.html,但第5节末尾的示例遇到了同样的问题:
class AddFuzzToProduct < ActiveRecord::Migration
class Product < ActiveRecord::Base
end
def change
add_column :products, :fuzz, :string
Product.reset_column_information
Product.all.each { |f| f.update_attributes! :fuzz => 'fuzzy' }
end
end
Run Code Online (Sandbox Code Playgroud)
回滚此迁移时,fuzz不需要更新字段.有没有办法防止它?
我尝试过Product.column_names但是由于Rails足够智能以反向执行迁移,因此在删除列之前执行更新.此外,当change定义方法时,似乎忽略任何up或down方法.还有其他想法吗?
除了http://gems.rubyforge.org/和http://gems.github.com/之外,你会推荐什么样的红宝石宝石来源?RubyForge似乎缺少了我现在寻找的大部分宝石......
我想有一个触发器来执行插入记录的以下操作:
# pseudocode
if new.group_id is null
set new.group_id = new.id
else
# don't touch it
end
Run Code Online (Sandbox Code Playgroud)
更清楚地说:我有一个包含三列的表:idprimary key,group_idint,valuevarchar.
当我group_id像这样插入时:
INSERT INTO table(value, group_id) VALUES ('a', 10)
Run Code Online (Sandbox Code Playgroud)
我想:
id | group_id | value
---+----------+------
1 | 10 | a
Run Code Online (Sandbox Code Playgroud)
但是当我省略时group_id:
INSERT INTO table(value) VALUES ('b')
Run Code Online (Sandbox Code Playgroud)
它应该自动设置id为此记录的:
id | group_id | value
---+----------+------
2 | 2 | b
Run Code Online (Sandbox Code Playgroud)
是否可以使用触发器?(我知道我可以在插入后更新记录,但触发器会更好.)
我最近注册了Heroku的Redis To Go https://addons.heroku.com/redistogo.目前,我正在使用免费的Nano计划,其中说:
我得到'没有备份'等意思,但找不到什么是'非持久'的任何信息?这是否意味着每次部署时都会消除数据?日常?时不时?当Heroku崩溃?
我正在寻找可以使我轻松地为现有Rails 4 Web应用程序创建导览的想法,最佳实践,宝石(如果存在)。
我希望所有注册的新用户都收到欢迎消息,其中包含该网站的某些功能,因此受到欢迎。当他们单击“下一步”时,他们应该转到另一个页面(例如,项目列表),其中将显示另一个说明性消息。下一步将是包含消息等的另一个页面(例如任务列表)...我希望解释性消息尽可能不引人注目,类似于Flash消息。
当然,跳过或隐藏导览并稍后重新开始的可能性非常好。
我知道我可以使用Cookie和一些其他控制器逻辑(闪存消息)“手动”创建它,但不希望使用用于指导的其他逻辑污染所有控制器。