• 111 at 2020年11月07日

    假如 A、A1、A2 三个表 一个 A 对 N 个 A1,N 个 A2。

    我们一般单表查询,不用 join。如果查询条件同时需要关联 A、A1、A2 查询,就使用 ES。

    先通过 ES 分页查询到 A 的 id 列表,然后再拿 id 列表去数据库分别查询 3 次,A 表 A1 表 A2 表,再组装起来返回给前端。都通过 id 查询挺快的。

  • HTTParty.post "https://sso.baklib.com/registrations/sms-auth-code.json,body:" {mobile: "xxx"} 可以刷短信

  • 最近也在找 Acitiviti,楼主现在是怎么处理的。

  • 很有用的工具,从发帖已经用到现在了。有个小建议,能不能把搜索后的第一个 Translations 默认展开啊。

  • 其余的数据库不知道,Mysql select 的列可以不用都写在 group by 里面啊

  • 你说的这两种方式在 mysql 都不行,都是先 group,较小的那个 ID 为去重以后的记录。

    FalseFeedback.order("created_at desc").group("system_id")
    SELECT * FROM false_feed_backs GROUP BY system_id ORDER BY created_at DESC 
    
    FalseFeedback.select('max(created_at) as created_at , system_id').group("system_id").order('created_at desc')
    SELECT max(created_at) as created_at, system_id FROM false_feed_backs GROUP BY system_id ORDER BY created_at DESC 
    

    可以这样

    SELECT system_id,created_at 
    FROM (
        SELECT system_id,created_at
        FROM false_feed_backs
        ORDER BY created_at DESC
    ) t
    GROUP BY system_id
    
  • 哈哈,这位兄弟可爱,聊天鬼才。

  • 求助各位大神。 at 2018年07月06日

    to_date 捕捉异常简单粗暴。

    [1] pry(main)> "1".to_date
    ArgumentError: invalid date
    from /Users/xor3/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.1.5/lib/active_support/core_ext/string/conversions.rb:45:in `parse'
    
    [2] pry(main)> "2014-08-20".to_date
    => Wed, 20 Aug 2014
    
    [3] pry(main)> "2014/08/20".to_date
    => Wed, 20 Aug 2014
    
  • 如果用户资料数据不多,页面不大,编辑不跳转页面,通过弹窗异步实现感觉操作更方便点。

  • 匿名发完以后,想想管理员视角会不会有点后怕。

  • 好巧,同在武汉,也叫东哥。😂

  • 趋势有什么好处啊。

  • 其实看个人爱好,上次写的一个新开页,然后有人反应说开页面太多了,开多了强迫症看着乱,还要关闭。 新闻,论坛,google 的一些网站我也比较倾向新开页,一直返回确实不爽。 google 也不是新开页,我一般都是按住 commond 键点鼠标也是新开,还蛮方便。

  • 珠海确实是个很漂亮城市,国家领导人都喜欢往这里跑。

  • 什么鬼

  • 买了五张票😅

  • 中午吃饭讨论一下,挺想去,一次没去过,见见世面。

  • 新司机,早鸟票和全价票的区别是啥。类似于欢乐谷的夜场票和全价票吗?

  • 去看一下 becomes 和 becomes! 方法

    class AAddress < Address
    
    end
    
    class BAddress < Address
    
    end
    
    a_address = Address.new(type: 'AAddress')
    puts a_address.class.name  
    结果 'AAddress'
    
    puts a_address.becomes(Address).class.name
    结果 'Address'
    
  • XxxJob.set(wait_until: xx).perform_later(xx) 收到消息以后,把这个队列任务删掉,然后和上面一样再重新创建一条定时任务

  • 你说数据量不大的话,可以试试这样,我目前这样导觉得还挺方便的。

    your_app/scripts//migrate/database.yml

    to:
      adapter: mysql2
      pool: 5
      reconnect: true
      username: x
      password: x
      host: x
      database: x
    from:
      adapter: mysql2
      pool: 5
      reconnect: true
      username: x
      password: x
      host: x
      database: x
    

    your_app/scripts//migrate/migrate_db.rb

    require 'active_record'
    require 'yaml'
    ROOT = File.expand_path("..",__FILE__)
    DB_CONFIG = YAML.load(File.new("#{ROOT}/database.yml"))
    class FromDB < ActiveRecord::Base
      self.record_timestamps = false
      self.abstract_class = true
      establish_connection(DB_CONFIG['from'])
    end
    class ToDB < ActiveRecord::Base
      self.record_timestamps = false
      self.abstract_class = true
      establish_connection(DB_CONFIG['to'])
    
      def self.save_from(obj)
        n = self.find_by_id(obj.id) || self.new
        self.column_names.each do |c|
          m = "convert_#{c}"
          if obj.respond_to?(m)
            n.send("#{c}=", obj.send(m))
          else
            n.send("#{c}=", obj.send(c)) if obj.respond_to?(c)
          end
        end
        n.save
        n
      end
    end
    

    copy 上面的代码

    eg: 迁移 direct_ship_prices 的数据

    #字段名和属性不一样的,写一个 convert_new_column 方法转换,一样的就不用写。

    your_app/scripts//migrate/models/direct_ship_price.rb

    require File.expand_path("../../migrate_db.rb",__FILE__)
    
    class FromDirectShipPrice < FromDB
      self.table_name = 'direct_ship_prices'
      #以前的公司id叫client_id,现在叫company_id
      def convert_company_id
        self.client_id
      end
      #以前的status是integer,现在是boolean
      def convert_status
            self.status == 0 ? false : true
      end
    
    end
    
    
    class ToDirectShipPrice < ToDB
      self.table_name = 'direct_ship_prices'
    end
    
    FromDirectShipPrice.find_each do |src|
      ToDirectShipPrice.save_from(src)
    end
    

    最后 rails runner -e ENV script/migrate/models/direct_ship_price.rb

  • mina setup 出现一些问题。 at 2016年08月31日

    好了,非常感谢😆 。我去了解一下 rbenv。