草庐IT

风格迁移

全部标签

ruby-on-rails - 在长期运行的项目中重新设置 Rails 迁移的基线

我的意思是字典中的“rebase”,而不是git定义...我有一个大型的、长期运行的Rails项目,其中有大约250个迁移,管理所有这些变得有点笨拙。也就是说,我确实需要一个基础来在运行测试时从中清除和重建我的数据库。所以这些里面包含的数据很重要。有没有人有任何策略可以说,在设定点转储架构-归档所有旧迁移并重新开始新迁移。显然我可以使用rakeschema:dump-但实际上我需要一种方法让db:migrate首先加载模式,然后开始运行其余的迁移。我想继续使用迁移,因为它们在开发中非常有用,但是,我无法回过头来编辑2007年的迁移,所以保留它似乎很愚蠢。 最

ruby-on-rails - rails 迁移 : How to increase column data type size by using ROR migration

我的用户表登录列是String类型,限制为40个字符。现在我打算将限制增加到55个字符。任何人请让我知道我们如何通过使用ROR迁移来增加此限制。谢谢,沙湾 最佳答案 classYourMigration55enddefdownchange_column:users,:login,:string,:limit=>40endend 关于ruby-on-rails-rails迁移:HowtoincreasecolumndatatypesizebyusingRORmigration,我们在Sta

ruby-on-rails - 何时(如果)合并 ActiveRecord 迁移?

当我在我的应用程序*(s)上进行迭代时,我积累了迁移。截至目前,共有48个此类文件,跨越大约24个月的事件。我正在考虑采用我当前的schema.rb并将其作为基线。我也在考虑删除(当然,受源代码控制)现有的迁移并从我当前的模式创建一个漂亮的Shiny的新单一迁移?迁移倾向于使用符号,但rakedb:schema:dump使用字符串:我应该关心吗?这看起来合理吗?如果是这样,在什么样的时间间隔进行这样的练习才有意义?如果不是,为什么不呢?我是否错过了一些(佣金?)可以为我完成的任务?*在我的例子中,所有应用程序都是基于Rails的,但是任何使用ActiveRecord迁移的应用程序似乎都

ruby-on-rails - 在与标准 "production"或 "development"不同的数据库上使用 Rails 迁移

我有一个正在运行的Rails项目,它在config/database.yml中定义了标准生产:、:开发和:测试数据库连接另外我有一个quiz_development:和quiz_production:定义指向不同的主机/数据库/用户/密码我现在的目标是定义一个使用“quiz_#{RAILS_ENV}`”作为其数据库配置的迁移。我尝试过(但失败了):在迁移文件中设置ActiveRecord::Base.connection更改rails中的db:migrate任务以在那里设置ActiveRecord::Base.connection问题:如何让rakedb:migrate使用其他数据库定

ruby - 您喜欢哪种风格的 Ruby 字符串引用?

您喜欢哪种Ruby字符串引用风格?到目前为止,我一直使用'singlequotes'除非字符串包含某些转义序列或插值,在这种情况下我显然必须使用"doublequotes"。但是,真的有什么理由不在任何地方都使用双引号字符串吗? 最佳答案 如果必须转义,请不要使用双引号。并且不要陷入“单引号与双引号”的陷阱。Ruby对字符串文字的任意定界符有很好的支持:站点镜像-https://web.archive.org/web/20160310224440/http://rors.org/2008/10/26/dont-escape-in-s

ruby - 条件子句中的赋值是好的 ruby​​ 风格吗?

为了写的更简洁,不如这样:test_value=method_call_that_might_return_nil()iftest_valuedo_something_withtest_valueend我一直在条件分配:iftest_value=method_call_that_might_return_nil()do_something_withtest_valueend这是糟糕的风格吗?更简洁的语法:do_something_withtest_valueiftest_value=method_call_that_might_return_nil()是不允许的,正如所讨论的inano

ruby-on-rails - ActiveRecord 如何忽略挂起的迁移

问题如下:我有包含初始数据的db/seed.rb。其中一个迁移取决于该种子提供的数据。我正在尝试从空数据库部署我的应用程序。结果是:RAILS_ENV=productionrakedb:migrate-由于缺少初始数据而失败RAILS_ENV=productionrakedb:seed-由于未决迁移而失败我想以某种方式告诉rake忽略挂起的迁移,但到目前为止无法做到。更新(由于额外的经验)有时迁移和模型代码不同步,因此迁移不会运行。为了避免这个问题,最近在迁移中使用了模型的重新定义:#resetallcallbacks,hooks,etcforthismodelclassMyAweso

ruby-on-rails - 在 Rails 迁移中,如何删除字段的限制

以下是正确的吗?change_column:tablename,:fieldname,:limit=>null 最佳答案 如果您之前在迁移中指定了一个限制并且只想删除该限制,您可以这样做:change_column:users,:column,:string,:limit=>255255是字符串列的标准长度,rails将消除您之前指定的限制。更新:虽然这适用于许多Rails版本,但您可能更适合使用nil,就像Giuseppe的回答一样。change_column:users,:column,:string,:limit=>nil这意

ruby-on-rails - 从迁移中执行 Rake 任务?

我有一个Rake任务将配置数据从文件加载到数据库中,是否有正确的ruby​​/rails方法在迁移时调用它?我的目标是同步我的团队数据库配置,无需广播然后运行任务lalaladefself.upchange_table:fis_situacao_fiscaldo|t|t.remove:mostrar_enderecot.rename:serie,:modeloendFaturamento::Cfop.destroy_all()#performrakehere!end更新我现在的工作方式和工作方式:system('rakesistema:load_datafile=faturamento

ruby 风格 : How to check whether a nested hash element exists

考虑存储在散列中的“人”。两个例子是:fred={:person=>{:name=>"Fred",:spouse=>"Wilma",:children=>{:child=>{:name=>"Pebbles"}}}}slate={:person=>{:name=>"Mr.Slate",:spouse=>"Mrs.Slate"}}如果“person”没有任何child,则“children”元素不存在。所以,对于Slate先生,我们可以检查他是否有parent:slate_has_children=!slate[:person][:children].nil?那么,如果我们不知道“slat