This is the spree products tables structures Everything's spread out across different tables
create_table "spree_prices", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=latin1" do |t|
t.integer "variant_id", null: false
t.decimal "amount", precision: 10, scale: 2
t.string "currency"
t.datetime "deleted_at"
t.index ["deleted_at"], name: "index_spree_prices_on_deleted_at", using: :btree
t.index ["variant_id", "currency"], name: "index_spree_prices_on_variant_id_and_currency", using: :btree
t.index ["variant_id"], name: "index_spree_prices_on_variant_id", using: :btree
end
create_table "spree_product_option_types", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=latin1" do |t|
t.integer "position"
t.integer "product_id"
t.integer "option_type_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["option_type_id"], name: "index_spree_product_option_types_on_option_type_id", using: :btree
t.index ["position"], name: "index_spree_product_option_types_on_position", using: :btree
t.index ["product_id"], name: "index_spree_product_option_types_on_product_id", using: :btree
end
create_table "spree_product_promotion_rules", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=latin1" do |t|
t.integer "product_id"
t.integer "promotion_rule_id"
t.index ["product_id"], name: "index_products_promotion_rules_on_product_id", using: :btree
t.index ["promotion_rule_id", "product_id"], name: "index_products_promotion_rules_on_promotion_rule_and_product", using: :btree
end
create_table "spree_product_properties", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=latin1" do |t|
t.string "value"
t.integer "product_id"
t.integer "property_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "position", default: 0
t.index ["position"], name: "index_spree_product_properties_on_position", using: :btree
t.index ["product_id"], name: "index_product_properties_on_product_id", using: :btree
t.index ["property_id"], name: "index_spree_product_properties_on_property_id", using: :btree
end
create_table "spree_products", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=latin1" do |t|
t.string "name", default: "", null: false
t.text "description", limit: 65535
t.datetime "available_on"
t.datetime "discontinue_on"
t.datetime "deleted_at"
t.string "slug"
t.text "meta_description", limit: 65535
t.string "meta_keywords"
t.integer "tax_category_id"
t.integer "shipping_category_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.boolean "promotionable", default: true
t.string "meta_title"
t.index ["available_on"], name: "index_spree_products_on_available_on", using: :btree
t.index ["deleted_at"], name: "index_spree_products_on_deleted_at", using: :btree
t.index ["discontinue_on"], name: "index_spree_products_on_discontinue_on", using: :btree
t.index ["name"], name: "index_spree_products_on_name", using: :btree
t.index ["shipping_category_id"], name: "index_spree_products_on_shipping_category_id", using: :btree
t.index ["slug"], name: "index_spree_products_on_slug", unique: true, using: :btree
t.index ["tax_category_id"], name: "index_spree_products_on_tax_category_id", using: :btree
end
create_table "spree_products_taxons", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=latin1" do |t|
t.integer "product_id"
t.integer "taxon_id"
t.integer "position"
t.index ["position"], name: "index_spree_products_taxons_on_position", using: :btree
t.index ["product_id"], name: "index_spree_products_taxons_on_product_id", using: :btree
t.index ["taxon_id"], name: "index_spree_products_taxons_on_taxon_id", using: :btree
end