really faster stats by precomputing some of them

This commit is contained in:
simon lehericey 2020-10-02 16:29:34 +02:00
parent f5f363ae99
commit ad01d4dee5
5 changed files with 143 additions and 27 deletions

View file

@ -0,0 +1,18 @@
class CreateStats < ActiveRecord::Migration[6.0]
def change
create_table :stats do |t|
t.bigint :dossiers_not_brouillon, default: 0
t.bigint :dossiers_brouillon, default: 0
t.bigint :dossiers_en_construction, default: 0
t.bigint :dossiers_en_instruction, default: 0
t.bigint :dossiers_termines, default: 0
t.bigint :dossiers_depose_avant_30_jours, default: 0
t.bigint :dossiers_deposes_entre_60_et_30_jours, default: 0
t.jsonb :dossiers_cumulative, null: false, default: '{}'
t.jsonb :dossiers_in_the_last_4_months, null: false, default: '{}'
t.timestamps
end
end
end

View file

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2020_09_30_143755) do
ActiveRecord::Schema.define(version: 2020_10_02_124154) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -586,6 +586,20 @@ ActiveRecord::Schema.define(version: 2020_09_30_143755) do
t.index ["administrateur_id"], name: "index_services_on_administrateur_id"
end
create_table "stats", force: :cascade do |t|
t.bigint "dossiers_not_brouillon", default: 0
t.bigint "dossiers_brouillon", default: 0
t.bigint "dossiers_en_construction", default: 0
t.bigint "dossiers_en_instruction", default: 0
t.bigint "dossiers_termines", default: 0
t.bigint "dossiers_depose_avant_30_jours", default: 0
t.bigint "dossiers_deposes_entre_60_et_30_jours", default: 0
t.jsonb "dossiers_cumulative", default: "{}", null: false
t.jsonb "dossiers_in_the_last_4_months", default: "{}", null: false
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
end
create_table "task_records", id: false, force: :cascade do |t|
t.string "version", null: false
end