Commit 792bbe3ca492a1ab3390f1dc8c56d14af0c67c1d

Authored by Braulio Bhavamitra
1 parent 08b8fb32

Fix orphaned categorizations

app/models/category.rb
... ... @@ -18,13 +18,13 @@ class Category < ActiveRecord::Base
18 18 acts_as_searchable :additional_fields => [{:name => {:boost => 2.0}}]
19 19 handle_asynchronously :solr_save
20 20  
21   - has_many :article_categorizations
  21 + has_many :article_categorizations, :dependent => :destroy
22 22 has_many :articles, :through => :article_categorizations
23 23 has_many :comments, :through => :articles
24 24  
25 25 has_many :events, :through => :article_categorizations, :class_name => 'Event', :source => :article
26 26  
27   - has_many :profile_categorizations
  27 + has_many :profile_categorizations, :dependent => :destroy
28 28 has_many :enterprises, :through => :profile_categorizations, :source => :profile, :class_name => 'Enterprise'
29 29 has_many :people, :through => :profile_categorizations, :source => :profile, :class_name => 'Person'
30 30 has_many :communities, :through => :profile_categorizations, :source => :profile, :class_name => 'Community'
... ...
db/migrate/20120402205653_remove_broken_references_to_category.rb 0 → 100644
... ... @@ -0,0 +1,14 @@
  1 +class RemoveBrokenReferencesToCategory < ActiveRecord::Migration
  2 + def self.up
  3 + execute <<-SQL
  4 + delete from articles_categories where category_id not in (select id from categories);
  5 + SQL
  6 + execute <<-SQL
  7 + delete from categories_profiles where category_id not in (select id from categories);
  8 + SQL
  9 + end
  10 +
  11 + def self.down
  12 + say "this migration can't be reverted"
  13 + end
  14 +end
... ...
db/schema.rb
... ... @@ -9,7 +9,7 @@
9 9 #
10 10 # It's strongly recommended to check this file into your version control system.
11 11  
12   -ActiveRecord::Schema.define(:version => 20120307200651) do
  12 +ActiveRecord::Schema.define(:version => 20120402205653) do
13 13  
14 14 create_table "abuse_reports", :force => true do |t|
15 15 t.integer "reporter_id"
... ... @@ -41,7 +41,7 @@ ActiveRecord::Schema.define(:version =&gt; 20120307200651) do
41 41 end
42 42  
43 43 add_index "action_tracker_notifications", ["action_tracker_id"], :name => "index_action_tracker_notifications_on_action_tracker_id"
44   - add_index "action_tracker_notifications", ["profile_id", "action_tracker_id"], :name => "index_action_tracker_notif_on_prof_id_act_tracker_id", :unique => true
  44 + add_index "action_tracker_notifications", ["profile_id", "action_tracker_id"], :name => "index_action_tracker_notifications_on_profile_id_and_action_tra", :unique => true
45 45 add_index "action_tracker_notifications", ["profile_id"], :name => "index_action_tracker_notifications_on_profile_id"
46 46  
47 47 create_table "article_versions", :force => true do |t|
... ... @@ -159,7 +159,37 @@ ActiveRecord::Schema.define(:version =&gt; 20120307200651) do
159 159 t.integer "position"
160 160 end
161 161  
162   - add_index "boxes", ["owner_id", "owner_type"], :name => "index_boxes_on_owner_type_and_owner_id"
  162 + add_index "boxes", ["owner_type", "owner_id"], :name => "index_boxes_on_owner_type_and_owner_id"
  163 +
  164 + create_table "bsc_plugin_contracts", :force => true do |t|
  165 + t.string "client_name"
  166 + t.integer "client_type"
  167 + t.integer "business_type"
  168 + t.string "state"
  169 + t.string "city"
  170 + t.integer "status", :default => 0
  171 + t.integer "number_of_producers", :default => 0
  172 + t.datetime "supply_start"
  173 + t.datetime "supply_end"
  174 + t.text "annotations"
  175 + t.integer "bsc_id"
  176 + t.datetime "created_at"
  177 + t.datetime "updated_at"
  178 + end
  179 +
  180 + create_table "bsc_plugin_contracts_enterprises", :id => false, :force => true do |t|
  181 + t.integer "contract_id"
  182 + t.integer "enterprise_id"
  183 + end
  184 +
  185 + create_table "bsc_plugin_sales", :force => true do |t|
  186 + t.integer "product_id", :null => false
  187 + t.integer "contract_id", :null => false
  188 + t.integer "quantity", :null => false
  189 + t.decimal "price"
  190 + t.datetime "created_at"
  191 + t.datetime "updated_at"
  192 + end
163 193  
164 194 create_table "categories", :force => true do |t|
165 195 t.string "name"
... ... @@ -173,7 +203,7 @@ ActiveRecord::Schema.define(:version =&gt; 20120307200651) do
173 203 t.float "lng"
174 204 t.boolean "display_in_menu", :default => false
175 205 t.integer "children_count", :default => 0
176   - t.boolean "accept_products", :default => true
  206 + t.boolean "accept_products"
177 207 t.integer "image_id"
178 208 t.string "acronym"
179 209 t.string "abbreviation"
... ... @@ -253,6 +283,7 @@ ActiveRecord::Schema.define(:version =&gt; 20120307200651) do
253 283 t.text "terms_of_use_acceptance_text"
254 284 t.datetime "created_at"
255 285 t.datetime "updated_at"
  286 + t.text "send_email_plugin_allow_to"
256 287 t.integer "reports_lower_bound", :default => 0, :null => false
257 288 end
258 289  
... ... @@ -308,6 +339,9 @@ ActiveRecord::Schema.define(:version =&gt; 20120307200651) do
308 339 t.integer "unit_id"
309 340 end
310 341  
  342 + add_index "inputs", ["product_category_id"], :name => "index_inputs_on_product_category_id"
  343 + add_index "inputs", ["product_id"], :name => "index_inputs_on_product_id"
  344 +
311 345 create_table "mailing_sents", :force => true do |t|
312 346 t.integer "mailing_id"
313 347 t.integer "person_id"
... ... @@ -327,6 +361,28 @@ ActiveRecord::Schema.define(:version =&gt; 20120307200651) do
327 361 t.datetime "updated_at"
328 362 end
329 363  
  364 + create_table "mezuro_plugin_metrics", :force => true do |t|
  365 + t.string "name"
  366 + t.float "value"
  367 + t.integer "metricable_id"
  368 + t.string "metricable_type"
  369 + t.datetime "created_at"
  370 + t.datetime "updated_at"
  371 + end
  372 +
  373 + create_table "mezuro_plugin_projects", :force => true do |t|
  374 + t.string "name"
  375 + t.string "identifier"
  376 + t.string "personal_webpage"
  377 + t.text "description"
  378 + t.string "repository_url"
  379 + t.string "svn_error"
  380 + t.boolean "with_tab"
  381 + t.integer "profile_id"
  382 + t.datetime "created_at"
  383 + t.datetime "updated_at"
  384 + end
  385 +
330 386 create_table "national_region_types", :force => true do |t|
331 387 t.string "name"
332 388 end
... ... @@ -351,17 +407,6 @@ ActiveRecord::Schema.define(:version =&gt; 20120307200651) do
351 407 t.datetime "updated_at"
352 408 end
353 409  
354   - create_table "product_categorizations", :force => true do |t|
355   - t.integer "category_id"
356   - t.integer "product_id"
357   - t.boolean "virtual", :default => false
358   - t.datetime "created_at"
359   - t.datetime "updated_at"
360   - end
361   -
362   - add_index "product_categorizations", ["category_id"], :name => "index_product_categorizations_on_category_id"
363   - add_index "product_categorizations", ["product_id"], :name => "index_product_categorizations_on_product_id"
364   -
365 410 create_table "product_qualifiers", :force => true do |t|
366 411 t.integer "product_id"
367 412 t.integer "qualifier_id"
... ... @@ -370,6 +415,10 @@ ActiveRecord::Schema.define(:version =&gt; 20120307200651) do
370 415 t.datetime "updated_at"
371 416 end
372 417  
  418 + add_index "product_qualifiers", ["certifier_id"], :name => "index_product_qualifiers_on_certifier_id"
  419 + add_index "product_qualifiers", ["product_id"], :name => "index_product_qualifiers_on_product_id"
  420 + add_index "product_qualifiers", ["qualifier_id"], :name => "index_product_qualifiers_on_qualifier_id"
  421 +
373 422 create_table "production_costs", :force => true do |t|
374 423 t.string "name"
375 424 t.integer "owner_id"
... ... @@ -386,8 +435,6 @@ ActiveRecord::Schema.define(:version =&gt; 20120307200651) do
386 435 t.text "description"
387 436 t.datetime "created_at"
388 437 t.datetime "updated_at"
389   - t.float "lat"
390   - t.float "lng"
391 438 t.decimal "discount"
392 439 t.boolean "available", :default => true
393 440 t.boolean "highlighted"
... ... @@ -396,13 +443,14 @@ ActiveRecord::Schema.define(:version =&gt; 20120307200651) do
396 443 end
397 444  
398 445 add_index "products", ["enterprise_id"], :name => "index_products_on_enterprise_id"
  446 + add_index "products", ["product_category_id"], :name => "index_products_on_product_category_id"
399 447  
400 448 create_table "profiles", :force => true do |t|
401 449 t.string "name"
402 450 t.string "type"
403 451 t.string "identifier"
404 452 t.integer "environment_id"
405   - t.boolean "active", :default => true
  453 + t.boolean "active", :default => true
406 454 t.string "address"
407 455 t.string "contact_phone"
408 456 t.integer "home_page_id"
... ... @@ -413,23 +461,29 @@ ActiveRecord::Schema.define(:version =&gt; 20120307200651) do
413 461 t.float "lat"
414 462 t.float "lng"
415 463 t.integer "geocode_precision"
416   - t.boolean "enabled", :default => true
417   - t.string "nickname", :limit => 16
  464 + t.boolean "enabled", :default => true
  465 + t.string "nickname", :limit => 16
418 466 t.text "custom_header"
419 467 t.text "custom_footer"
420 468 t.string "theme"
421   - t.boolean "public_profile", :default => true
  469 + t.boolean "public_profile", :default => true
422 470 t.date "birth_date"
423 471 t.integer "preferred_domain_id"
424 472 t.datetime "updated_at"
425   - t.boolean "visible", :default => true
  473 + t.boolean "visible", :default => true
426 474 t.integer "image_id"
427   - t.boolean "validated", :default => true
  475 + t.integer "bsc_id"
  476 + t.string "company_name"
  477 + t.boolean "shopping_cart", :default => true
  478 + t.boolean "shopping_cart_delivery", :default => false
  479 + t.decimal "shopping_cart_delivery_price", :default => 0.0
  480 + t.boolean "validated", :default => true
428 481 t.string "cnpj"
429 482 t.string "national_region_code"
430 483 end
431 484  
432 485 add_index "profiles", ["environment_id"], :name => "index_profiles_on_environment_id"
  486 + add_index "profiles", ["region_id"], :name => "index_profiles_on_region_id"
433 487  
434 488 create_table "qualifier_certifiers", :force => true do |t|
435 489 t.integer "qualifier_id"
... ... @@ -488,6 +542,15 @@ ActiveRecord::Schema.define(:version =&gt; 20120307200651) do
488 542 t.datetime "updated_at"
489 543 end
490 544  
  545 + create_table "shopping_cart_plugin_purchase_orders", :force => true do |t|
  546 + t.integer "customer_id"
  547 + t.integer "seller_id"
  548 + t.text "data"
  549 + t.integer "status"
  550 + t.datetime "created_at"
  551 + t.datetime "updated_at"
  552 + end
  553 +
491 554 create_table "taggings", :force => true do |t|
492 555 t.integer "tag_id"
493 556 t.integer "taggable_id"
... ... @@ -515,6 +578,7 @@ ActiveRecord::Schema.define(:version =&gt; 20120307200651) do
515 578 t.datetime "created_at"
516 579 t.string "target_type"
517 580 t.integer "image_id"
  581 + t.integer "bsc_id"
518 582 end
519 583  
520 584 create_table "thumbnails", :force => true do |t|
... ...