草庐IT

sql-server-migration-assi

全部标签

sql - 使用 SQL IN 和 SQL OR 运算符的 Rails 3 ActiveRecord 查询

我正在使用“where”语法编写一个Rails3ActiveRecord查询,它同时使用了SQLIN和SQLOR运算符,但不知道如何同时使用它们。此代码有效(在我的用户模型中):Question.where(:user_id=>self.friends.ids)#note:self.friends.idsreturnsanarrayofintegers但是这段代码Question.where(:user_id=>self.friends.idsOR:target=>self.friends.usernames)返回这个错误syntaxerror,unexpectedtCONSTANT,

ruby-on-rails - 如何使用其他方法扩展 ActiveRecord::Migration?

我正在创建一个Rubygem,并希望使用我自己的助手来扩展ActiveRecord::Migration以创建必要的列。(这类似于Devise在为其各种身份验证策略创建迁移时所做的事情。)我意识到我添加的功能本身非常微不足道,并且可能有更好/更有效的方法来做到这一点-我正在尝试将其作为学习经验而不是实际应用的东西。我只是想了解如何做一些像在Rails中添加新的迁移功能这样具有侵入性的事情。到目前为止,我已经成功构建到gem中并安装了,但是当我尝试运行如下迁移时:classCreatePosts...它没有说hideable没有定义。我研究了Devise完成此操作的方式,我不得不承认我有

ruby - 如何禁用数据库 :schema:dump for migrations

我不希望Rails3在每次迁移时生成我的模式。如何正确禁用它?谢谢 最佳答案 对于仍在寻找在迁移后禁用数据库转储的方法的任何人,rails4中现在可以使用配置,可以像这样将其设置为false:config.active_record.dump_schema_after_migration=false会阻止它。此更改中已添加配置-https://github.com/rails/rails/pull/13948 关于ruby-如何禁用数据库:schema:dumpformigrations

ruby-on-rails - headless gem : webkit_server: cannot connect to X server

我在使用Headlessgem、Xvfb和我们的ci服务器运行capybara-webkit时遇到了一些问题。我们使用此设置对我们的RubyonRails3.2应用程序进行自动集成测试和javascript测试。在测试期间它提示说webkit_server:cannotconnecttoXserver但是当我psaux|grepXvfbdeploy16020.00.1616961912pts/2S+Jul100:00/usr/bin/Xvfb:99-screen01280x1024x24-ac我看到Xvfb正在运行。如果我使用--trace运行测试,它也只显示上面的错误日志,我无法调试

sql - ActiveRecord::StatementInvalid。 PG错误

我正在尝试使用Project.find(id)从Project模型中找到一个项目,但它给了我ActiveRecord::StatementInvalid错误完整跟踪-PG::Error:ERROR:preparedstatement"a1"alreadyexists:SELECTCOUNT(*)FROMpg_classcLEFTJOINpg_namespacenONn.oid=c.relnamespaceWHEREc.relkindin('v','r')ANDc.relname=$1ANDn.nspname=ANY(current_schemas(false))/home/deploy

ruby-on-rails - 未定义方法 `accept' 为 nil :NilClass on rake db:migrate

使用ruby​​-1.9.2和rails3.2.1。mysql2的版本是0.2.7。运行rakedb:migrate时出现错误:“nil:NilClass的未定义方法‘accept’:”跟踪包括:gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:7:in`to_sql' 最佳答案 从以下位置更改您的Gemfile:gem'activerecord-mysql2-adapter'到:gem'mysq

ruby - 执行 rake db :migrate on Heroku 时出错

做的时候heroku运行rakedb:migrate所有迁移都已执行,最后我总是收到以下消息:/app/vendor/bundle/ruby/1.9.1/bin/rake:没有这样的文件或目录-pg_dump-i-s-x-O-f/app/db/structure.sqldan79p98fykovu我无法在Heroku上将pg_dump添加到PATH。如何处理? 最佳答案 问题在于,迁移完成后,rails会尝试转储新的structure.sql,但由于pg_dump不存在而失败。为已部署的应用程序生成新的structure.sql毫无

ruby-on-rails - Rails 5 的 ActiveRecord::Migration 中的 [5.0] 是什么意思?

我在Rails5应用程序中创建的迁移将5.0传递到一个方法中:classCreateVariableKeys我想知道[5.0]是什么意思。 最佳答案 它是ActiveRecord::Migration的类方法,定义为here.它允许我们在4.2和5.0之间选择我们希望使用的迁移版本。该方法抛出一个:"Unknownmigrationversion..."如果将不兼容的版本作为参数传递,则会出错。ActiveRecord的生产就绪版本没有该方法,因此它应该在Rails5结束测试版后立即消失。

ruby-on-rails - 为 Rails 3.1.1 关闭详细的 sql/ActiveRecord

尽管SQL/ActiveRecord调用的冗长功能在大多数情况下都很有用,但在我有一些循环正在进行的情况下,我想将其关闭。有没有办法关闭它?irb(main):055:0>City.first←[1m←[35mCityLoad(1.0ms)←[0mSELECT`cities`.*FROM`cities`LIMIT1=># 最佳答案 在控制台中:禁用:old_logger=ActiveRecord::Base.loggerActiveRecord::Base.logger=nil启用:ActiveRecord::Base.logger

ruby-on-rails - rails : How to delete a pending migration

我目前正在学习ruby​​onrails教程:http://guides.rubyonrails.org/getting_started.html.我正在尝试将数据保存到数据库中。但是,当我运行:railsserver时,出现以下错误:Migrationsarepending.Toresolvethisissue,run:bin/rakedb:migrateRAILS_ENV=development我看过其他文章,当我运行时:bin/rakedb:migrate我得到一个rakeaborted!运行后:rakedb:abort_if_pending_migrations....我看到了