普遍的共识是,在迁移时您应该检查 schema.rb 到版本控制中。
在 GIT 中处理 Rails db/schema.rb 文件的正确方法是什么?
我的问题是——如果我的高级开发人员创建了一个迁移并检查了 schema.rb,我拉下 repo 并在我的一端迁移,它显示 schema.rb 已更改——我是否也提交了我的 schema.rb 版本并检查这也进入版本控制?
K-所以希望解释为什么我要这样做会有所帮助.我的大部分开发工作都是在公司提供的笔记本电脑上完成的; 但是当我回到家时,我想使用我的桌面.我有许多rails项目,其中用户名和密码已经定义为'postgres',所以我不想更改这些项目的.yml文件中的用户名和密码,只是为了让它在我的桌面上工作.太头疼了.所以,我想要做的就是更改我的postgres环境,以查找用户名'postgres'作为默认值.我也不想每次要登录时都要传递-U或-W.所以...
如何更改psql/postgres的默认角色?从命令行,如果我输入:
$ psql
Run Code Online (Sandbox Code Playgroud)
我回来了
psql: FATAL: role "crash" does not exist
Run Code Online (Sandbox Code Playgroud)
它正在寻找"崩溃",因为这是我登录PC的用户帐户 - 但是,我希望我的默认用户名是"postgres"而不是"崩溃".如何更改PSQL在init上寻找的角色?
事实证明,Google有很多资源可以为postgres创建一个新角色,或者更改密码或其他任何有用的信息; 但是,我一直在寻找几个小时,我找不到任何具体的改变postgres应该默认使用哪个角色.
如果有人能指出我正确的方向,我会很感激.
Sys- ubuntu 12.04 lts 64位
我正按照http://ariejan.net/2011/10/14/rails-3-customized-exception-handling/上的说明操作,并且遇到了障碍.
我对rails来说比较新,所以我不确定我做得对不对,不对.
第一步是创建课程
MyApp::ProfileNotFoundError < StandardError
end
Run Code Online (Sandbox Code Playgroud)
所以我去app/models并创建了profile_not_found.rb,其中包含以下内容,其中(APP)是我的应用程序的名称,由Rails.application.class.parent_name定义,但我已隐藏此帖子的安全/隐私.
(APP)::ProfileNotFoundError < StandardError
end
Run Code Online (Sandbox Code Playgroud)
在app/controllers/application_controller.rb中我添加了
rescue_from (APP)::ProfileNotFoundError, :with => :profile_not_found
Run Code Online (Sandbox Code Playgroud)
在我的登录控制器中,我添加了
raise (APP)::ProfileNotFoundError if @profile.nil?
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试测试代码时,我收到路由错误说明
uninitialized constant (APP)::BlankUsernameError
Run Code Online (Sandbox Code Playgroud)
在我看来,这表明我做了一些关于类创建的错误,但教程是如此模糊,我无法弄清楚.有什么指针吗?
我在Ubuntu 12.04.2 x86_64上运行Rails 3.0.20和Ruby 1.8.7