zoukankan      html  css  js  c++  java
  • bulk參數 小青年

    bulk參數

    :bulk => true可以讓變更資料庫欄位的Migration更有效率的執行,如果沒有加這個參數,或是直接使用add_columnrename_columnremove_column等方法,那麼Rails會拆開SQL來執行,例如:

    change_table(:users) do |t|
     t.string :company_name
     t.change :birthdate, :datetime
    end

    會產生:

    ALTER TABLE `users` ADD `im_handle` varchar(255) ALTER TABLE `users` ADD `company_id` int(11) ALTER TABLE `users` CHANGE `updated_at` `updated_at` datetime DEFAULT NULL

    加上:bulk => true之後:

    change_table(:users, :bulk => true) do |t|
     t.string :company_name
     t.change :birthdate, :datetime
    end

    會合併產生一行SQL

    ALTER TABLE `users` ADD COLUMN `im_handle` varchar(255), ADD COLUMN `company_id` int(11), CHANGE `updated_at` `updated_at` datetime DEFAULT NULL

    這對已有不少資料量的資料庫來說,會有不少執行速度上的差異,可以減少資料庫因為修改被Lock鎖定的時間。

    本段来自:

    http://ihower.tw/rails3/migrations.html

  • 相关阅读:
    英语语法学习
    react-hook
    rrweb手机端录屏,pc端使用
    uni-app
    日期
    Mongodb 保存地理信息 并实现范围检索
    webpack2.2API阅读笔记
    react-lazyload
    项目中常用的各个依赖包的解释
    Android-----test----monkeyrunner
  • 原文地址:https://www.cnblogs.com/perish/p/2623398.html
Copyright © 2011-2022 走看看