1706 lines
72 KiB
Ruby
1706 lines
72 KiB
Ruby
# encoding: UTF-8
|
|
# This file is auto-generated from the current state of the database. Instead
|
|
# of editing this file, please use the migrations feature of Active Record to
|
|
# incrementally modify your database, and then regenerate this schema definition.
|
|
#
|
|
# Note that this schema.rb definition is the authoritative source for your
|
|
# database schema. If you need to create the application database on another
|
|
# system, you should be using db:schema:load, not running all the migrations
|
|
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
|
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
|
#
|
|
# It's strongly recommended that you check this file into your version control system.
|
|
|
|
ActiveRecord::Schema.define(version: 20200112211919) do
|
|
|
|
create_table "admin_admin_roles", force: :cascade do |t|
|
|
t.integer "admin_id", limit: 4
|
|
t.integer "admin_role_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "admin_permission_admin_roles", force: :cascade do |t|
|
|
t.integer "admin_permission_id", limit: 4
|
|
t.integer "admin_role_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "admin_permissions", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "admin_roles", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "admins", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "firstname", limit: 255
|
|
t.string "avatar", limit: 255
|
|
t.string "username", limit: 255, default: "", null: false
|
|
t.string "email", limit: 255, default: "", null: false
|
|
t.string "password_digest", limit: 255, default: "", null: false
|
|
t.string "reset_password_token", limit: 255
|
|
t.datetime "reset_password_sent_at"
|
|
t.datetime "remember_created_at"
|
|
t.integer "sign_in_count", limit: 4, default: 0
|
|
t.datetime "current_sign_in_at"
|
|
t.datetime "last_sign_in_at"
|
|
t.string "current_sign_in_ip", limit: 255
|
|
t.string "last_sign_in_ip", limit: 255
|
|
t.string "remember_token", limit: 255
|
|
t.boolean "super_admin"
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "albums", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.boolean "super_admin"
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "article_authors", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.boolean "enabled"
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.string "title", limit: 255
|
|
t.string "url", limit: 255
|
|
end
|
|
|
|
create_table "articleindexs_contents", force: :cascade do |t|
|
|
t.integer "category_id", limit: 4
|
|
t.string "style", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "articles", force: :cascade do |t|
|
|
t.datetime "published_at"
|
|
t.string "title", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.string "tag", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.text "keywords", limit: 65535
|
|
t.boolean "enabled"
|
|
t.integer "image_file_id", limit: 4
|
|
t.boolean "title_cached"
|
|
t.string "tags_cache", limit: 255
|
|
t.string "tags_cache_slug", limit: 255
|
|
t.integer "category_id", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.string "thumb_style", limit: 255
|
|
t.boolean "commentable"
|
|
t.boolean "show_comments"
|
|
t.integer "title_bottom", limit: 4
|
|
t.boolean "gradient_cached"
|
|
t.integer "article_author_id", limit: 4
|
|
t.integer "without_text_image_file_id", limit: 4
|
|
end
|
|
|
|
add_index "articles", ["article_author_id"], name: "index_articles_on_article_author_id", using: :btree
|
|
|
|
create_table "block_contents", force: :cascade do |t|
|
|
t.integer "style", limit: 4
|
|
t.integer "nbr_columns", limit: 4
|
|
t.integer "row1", limit: 4
|
|
t.integer "row2", limit: 4
|
|
t.integer "row3", limit: 4
|
|
t.integer "row4", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.integer "image_file_id", limit: 4
|
|
t.integer "margin_top", limit: 4
|
|
t.integer "margin_bottom", limit: 4
|
|
t.integer "margin_left", limit: 4
|
|
t.integer "margin_right", limit: 4
|
|
t.integer "padding_top", limit: 4
|
|
t.integer "padding_bottom", limit: 4
|
|
t.integer "padding_left", limit: 4
|
|
t.integer "padding_right", limit: 4
|
|
t.boolean "parallax"
|
|
t.boolean "center"
|
|
t.integer "center_width", limit: 4
|
|
t.string "background_color", limit: 255
|
|
t.string "gradient_start", limit: 255
|
|
t.string "gradient_stop", limit: 255
|
|
end
|
|
|
|
add_index "block_contents", ["image_file_id"], name: "index_block_contents_on_image_file_id", using: :btree
|
|
|
|
create_table "blocks", force: :cascade do |t|
|
|
t.integer "lang_site_id", limit: 4
|
|
t.string "block_name", limit: 255
|
|
t.string "blockable_type", limit: 255
|
|
t.integer "blockable_id", limit: 4
|
|
t.text "content", limit: 65535
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "break_contents", force: :cascade do |t|
|
|
t.boolean "line"
|
|
t.integer "height", limit: 4
|
|
t.string "style", limit: 255
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "categories", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.boolean "enabled"
|
|
t.text "description", limit: 65535
|
|
t.integer "image_file_id", limit: 4
|
|
t.integer "position", limit: 4
|
|
t.integer "parent_id", limit: 4
|
|
t.string "permalink", limit: 255
|
|
t.boolean "front_page"
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "category_categoryables", force: :cascade do |t|
|
|
t.integer "category_id", limit: 4
|
|
t.string "categoryable_type", limit: 255
|
|
t.integer "categoryable_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "category_langs", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.integer "image_file_id", limit: 4
|
|
t.integer "lang_site_id", limit: 4
|
|
t.integer "category_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "category_langs", ["category_id"], name: "index_category_langs_on_category_id", using: :btree
|
|
add_index "category_langs", ["lang_site_id"], name: "index_category_langs_on_lang_site_id", using: :btree
|
|
|
|
create_table "cel_tables", force: :cascade do |t|
|
|
t.integer "position", limit: 4
|
|
t.integer "style", limit: 4
|
|
t.integer "table_row_id", limit: 4
|
|
t.integer "table_content_id", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "comments", force: :cascade do |t|
|
|
t.string "pseudo", limit: 255, default: ""
|
|
t.string "email", limit: 255, default: ""
|
|
t.string "website", limit: 255, default: ""
|
|
t.boolean "enabled"
|
|
t.text "comment", limit: 65535
|
|
t.integer "commentable_id", limit: 4
|
|
t.string "commentable_type", limit: 255
|
|
t.integer "user_id", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.integer "parent_id", limit: 4
|
|
t.boolean "notified", default: false
|
|
t.datetime "notified_at"
|
|
t.integer "lang_site_id", limit: 4, default: 1
|
|
end
|
|
|
|
create_table "contacts", force: :cascade do |t|
|
|
t.string "civilite", limit: 255
|
|
t.string "firstname", limit: 255
|
|
t.string "name", limit: 255
|
|
t.string "address", limit: 255
|
|
t.string "address2", limit: 255
|
|
t.string "cp", limit: 255
|
|
t.string "city", limit: 255
|
|
t.string "country", limit: 255
|
|
t.string "phone", limit: 255
|
|
t.string "token", limit: 255
|
|
t.string "email", limit: 255
|
|
t.string "website", limit: 255
|
|
t.integer "raison_id", limit: 4
|
|
t.text "message", limit: 65535
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.text "notes", limit: 65535
|
|
t.integer "survey_set_id", limit: 4
|
|
t.string "raison_text", limit: 255
|
|
t.text "objet", limit: 65535
|
|
end
|
|
|
|
create_table "data_file_categories", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.integer "parent_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "data_file_passwords", force: :cascade do |t|
|
|
t.integer "data_file_id", limit: 4
|
|
t.string "token", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.integer "nbr_downloads", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "data_files", force: :cascade do |t|
|
|
t.string "file", limit: 255
|
|
t.string "name", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.string "token", limit: 255
|
|
t.string "description", limit: 255
|
|
t.integer "file_folder_id", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.string "title", limit: 255
|
|
t.text "long_desc", limit: 65535
|
|
t.boolean "boutique"
|
|
t.integer "data_file_category_id", limit: 4
|
|
t.integer "image_file_id", limit: 4
|
|
t.text "yumpu_content", limit: 65535
|
|
t.boolean "show_yumpu"
|
|
t.integer "square_image_file_id", limit: 4
|
|
t.boolean "order_link"
|
|
t.boolean "download_link"
|
|
end
|
|
|
|
add_index "data_files", ["image_file_id"], name: "index_data_files_on_image_file_id", using: :btree
|
|
|
|
create_table "download_contents", force: :cascade do |t|
|
|
t.string "title", limit: 255
|
|
t.string "style", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.integer "data_file_id", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.boolean "boutique"
|
|
t.boolean "show_yumpu"
|
|
end
|
|
|
|
create_table "dynamic_contents", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "edit_watchers", force: :cascade do |t|
|
|
t.string "element_type", limit: 255
|
|
t.integer "element_id", limit: 4
|
|
t.string "key", limit: 255
|
|
t.integer "admin_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "external_links", force: :cascade do |t|
|
|
t.string "title", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.string "url", limit: 255
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "file_folders", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.boolean "super_admin"
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "gallery_contents", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.integer "style", limit: 4
|
|
t.integer "nbr_img", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.boolean "with_legend", default: false
|
|
end
|
|
|
|
create_table "gallery_images", force: :cascade do |t|
|
|
t.string "title", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.string "tags", limit: 255
|
|
t.integer "position", limit: 4
|
|
t.integer "image_file_id", limit: 4
|
|
t.integer "gallery_content_id", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "hashtaggings", force: :cascade do |t|
|
|
t.integer "hashtag_id", limit: 4
|
|
t.integer "hashtaggable_id", limit: 4
|
|
t.string "hashtaggable_type", limit: 255
|
|
t.integer "lang_site_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "hashtaggings", ["hashtag_id"], name: "index_hashtaggings_on_hashtag_id", using: :btree
|
|
|
|
create_table "hashtags", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.boolean "enabled"
|
|
t.integer "lang_site_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.string "slug", limit: 255
|
|
end
|
|
|
|
create_table "home_slide_langs", force: :cascade do |t|
|
|
t.integer "home_slider_slide_id", limit: 4
|
|
t.integer "lang_site_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "home_slide_langs", ["home_slider_slide_id"], name: "index_home_slide_langs_on_home_slider_slide_id", using: :btree
|
|
add_index "home_slide_langs", ["lang_site_id"], name: "index_home_slide_langs_on_lang_site_id", using: :btree
|
|
|
|
create_table "home_slider_slides", force: :cascade do |t|
|
|
t.integer "home_slider_id", limit: 4
|
|
t.integer "position", limit: 4
|
|
t.datetime "start_at"
|
|
t.datetime "end_at"
|
|
t.integer "image_file_id", limit: 4
|
|
t.boolean "enabled"
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.string "url", limit: 255
|
|
t.integer "blur_image_id", limit: 4
|
|
t.string "blur_color", limit: 255
|
|
t.string "titre1", limit: 255
|
|
t.string "titre2", limit: 255
|
|
t.text "description1", limit: 65535
|
|
t.text "description2", limit: 65535
|
|
t.boolean "popup"
|
|
t.string "cta_text", limit: 255
|
|
t.integer "article_id", limit: 4
|
|
end
|
|
|
|
add_index "home_slider_slides", ["home_slider_id"], name: "index_home_slider_slides_on_home_slider_id", using: :btree
|
|
|
|
create_table "home_sliders", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "html_contents", force: :cascade do |t|
|
|
t.text "content", limit: 65535
|
|
t.string "style", limit: 255
|
|
t.string "content_type", limit: 255
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "image_contents", force: :cascade do |t|
|
|
t.integer "image_file_id", limit: 4
|
|
t.integer "width", limit: 4
|
|
t.integer "height", limit: 4
|
|
t.string "alignement", limit: 255
|
|
t.boolean "expandable"
|
|
t.string "style", limit: 255
|
|
t.string "alt", limit: 255
|
|
t.integer "cible_id", limit: 4
|
|
t.string "cible_type", limit: 255
|
|
t.boolean "with_cible"
|
|
t.boolean "popup"
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.integer "margin_top", limit: 4
|
|
t.integer "margin_left", limit: 4
|
|
t.integer "margin_right", limit: 4
|
|
t.integer "margin_bottom", limit: 4
|
|
t.boolean "with_legend", default: false
|
|
end
|
|
|
|
create_table "image_files", force: :cascade do |t|
|
|
t.string "file", limit: 255
|
|
t.string "name", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.string "tags", limit: 255
|
|
t.integer "album_id", limit: 4
|
|
t.string "photograph", limit: 255
|
|
t.string "cible_type", limit: 255
|
|
t.integer "cible_id", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.string "origin_name", limit: 255
|
|
t.string "token_s", limit: 255
|
|
end
|
|
|
|
create_table "kaps", force: :cascade do |t|
|
|
t.integer "kaps_type_id", limit: 4, default: 1
|
|
t.integer "p_customer_id", limit: 4
|
|
t.integer "kaps_cat_id", limit: 4
|
|
t.boolean "public", default: false
|
|
t.string "name", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.integer "origin_kaps_id", limit: 4
|
|
t.integer "origin_author_id", limit: 4
|
|
t.boolean "archived", default: false
|
|
t.integer "points", limit: 4, default: 1
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.integer "pause_days", limit: 4
|
|
t.integer "active_days", limit: 4
|
|
t.date "start_at"
|
|
t.date "end_at"
|
|
end
|
|
|
|
add_index "kaps", ["p_customer_id"], name: "index_kaps_on_p_customer_id", using: :btree
|
|
|
|
create_table "kaps_days", force: :cascade do |t|
|
|
t.date "date"
|
|
t.integer "p_customer_id", limit: 4
|
|
t.integer "points", limit: 4
|
|
t.integer "total_points", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "kaps_days", ["p_customer_id"], name: "index_kaps_days_on_p_customer_id", using: :btree
|
|
|
|
create_table "kaps_rappel_items", force: :cascade do |t|
|
|
t.integer "kaps_rappel_id", limit: 4
|
|
t.integer "number", limit: 4
|
|
t.integer "kapsme_id", limit: 4
|
|
t.integer "kaps_day_id", limit: 4
|
|
t.datetime "generate_at"
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "kaps_rappel_items", ["kaps_day_id"], name: "index_kaps_rappel_items_on_kaps_day_id", using: :btree
|
|
add_index "kaps_rappel_items", ["kaps_rappel_id"], name: "index_kaps_rappel_items_on_kaps_rappel_id", using: :btree
|
|
add_index "kaps_rappel_items", ["kapsme_id"], name: "index_kaps_rappel_items_on_kapsme_id", using: :btree
|
|
|
|
create_table "kaps_rappels", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.integer "hour", limit: 4, default: 18
|
|
t.integer "day", limit: 4
|
|
t.string "rappel_type", limit: 255, default: "day"
|
|
t.boolean "paused_inc", default: false
|
|
t.integer "kap_id", limit: 4
|
|
t.integer "nbr_rep", limit: 4
|
|
t.integer "minutes_rep", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "kaps_rappels", ["kap_id"], name: "index_kaps_rappels_on_kap_id", using: :btree
|
|
|
|
create_table "kapsmes", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.boolean "public", default: false
|
|
t.integer "kaps_cat_id", limit: 4
|
|
t.integer "points", limit: 4
|
|
t.boolean "done", default: false
|
|
t.integer "kap_id", limit: 4
|
|
t.integer "kaps_type_id", limit: 4
|
|
t.integer "p_customer_id", limit: 4
|
|
t.integer "origin_kaps_id", limit: 4
|
|
t.integer "origin_author_id", limit: 4
|
|
t.boolean "archived", default: false
|
|
t.integer "kaps_day_id", limit: 4
|
|
t.integer "kaps_week_id", limit: 4
|
|
t.integer "kaps_month_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.boolean "paused", default: false
|
|
t.integer "point_to_count", limit: 4
|
|
end
|
|
|
|
add_index "kapsmes", ["kap_id"], name: "index_kapsmes_on_kap_id", using: :btree
|
|
add_index "kapsmes", ["p_customer_id"], name: "index_kapsmes_on_p_customer_id", using: :btree
|
|
|
|
create_table "lang_articles", force: :cascade do |t|
|
|
t.datetime "published_at"
|
|
t.string "title", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.text "keywords", limit: 65535
|
|
t.boolean "enabled"
|
|
t.integer "image_file_id", limit: 4
|
|
t.boolean "title_cached"
|
|
t.string "tags_cache", limit: 255
|
|
t.string "tags_cache_slug", limit: 255
|
|
t.integer "lang_site_id", limit: 4
|
|
t.integer "article_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.string "html_title", limit: 255
|
|
t.string "fb_title", limit: 255
|
|
t.string "twitter_title", limit: 255
|
|
t.text "twitter_description", limit: 65535
|
|
t.integer "without_text_image_file_id", limit: 4
|
|
t.integer "slider_image_file_id", limit: 4
|
|
t.text "chapeau", limit: 65535
|
|
end
|
|
|
|
create_table "lang_pages", force: :cascade do |t|
|
|
t.integer "lang_site_id", limit: 4
|
|
t.integer "page_id", limit: 4
|
|
t.text "title", limit: 65535
|
|
t.text "description", limit: 65535
|
|
t.text "keywords", limit: 65535
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.string "twitter_title", limit: 255
|
|
t.text "twitter_description", limit: 65535
|
|
t.integer "without_text_image_file_id", limit: 4
|
|
end
|
|
|
|
add_index "lang_pages", ["lang_site_id"], name: "index_lang_pages_on_lang_site_id", using: :btree
|
|
add_index "lang_pages", ["page_id"], name: "index_lang_pages_on_page_id", using: :btree
|
|
|
|
create_table "lang_sites", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.boolean "enabled"
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "link_contents", force: :cascade do |t|
|
|
t.integer "type", limit: 4
|
|
t.string "name", limit: 255
|
|
t.string "title", limit: 255
|
|
t.boolean "popup"
|
|
t.string "url", limit: 255
|
|
t.string "style", limit: 255
|
|
t.integer "cible_id", limit: 4
|
|
t.string "cible_type", limit: 255
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "mail_contents", force: :cascade do |t|
|
|
t.integer "lang_site_id", limit: 4
|
|
t.integer "mail_type_id", limit: 4
|
|
t.string "subject", limit: 255
|
|
t.text "message", limit: 65535
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.boolean "enabled"
|
|
t.string "content_type", limit: 255
|
|
t.text "tags", limit: 65535
|
|
t.integer "mail_template_id", limit: 4
|
|
end
|
|
|
|
create_table "mail_profiles", force: :cascade do |t|
|
|
t.string "civilite", limit: 255
|
|
t.string "firstname", limit: 255
|
|
t.string "name", limit: 255
|
|
t.string "address", limit: 255
|
|
t.string "address2", limit: 255
|
|
t.string "cp", limit: 255
|
|
t.string "city", limit: 255
|
|
t.string "country", limit: 255
|
|
t.string "email", limit: 255
|
|
t.string "phone", limit: 255
|
|
t.string "token", limit: 255
|
|
t.string "provider", limit: 255
|
|
t.string "uid", limit: 255
|
|
t.string "facebook_token", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "mail_templates", force: :cascade do |t|
|
|
t.string "title", limit: 255
|
|
t.text "template_html", limit: 65535
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "mail_types", force: :cascade do |t|
|
|
t.string "slug", limit: 255
|
|
t.string "default_title", limit: 255
|
|
t.text "default_message", limit: 65535
|
|
t.integer "mail_type_reference_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "map_contents", force: :cascade do |t|
|
|
t.string "address", limit: 255
|
|
t.string "name", limit: 255
|
|
t.integer "view", limit: 4
|
|
t.boolean "info_bule"
|
|
t.integer "zoom", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "menu_aliases", force: :cascade do |t|
|
|
t.integer "menu_item_id", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "menu_item_articles", force: :cascade do |t|
|
|
t.integer "menu_item_id", limit: 4
|
|
t.integer "article_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "menu_item_categories", force: :cascade do |t|
|
|
t.integer "menu_item_id", limit: 4
|
|
t.integer "category_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "menu_item_langs", force: :cascade do |t|
|
|
t.integer "lang_site_id", limit: 4
|
|
t.string "name", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.string "permalink", limit: 255
|
|
t.boolean "enabled"
|
|
t.boolean "visible"
|
|
t.integer "menu_item_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.integer "image_file_id", limit: 4
|
|
end
|
|
|
|
add_index "menu_item_langs", ["image_file_id"], name: "index_menu_item_langs_on_image_file_id", using: :btree
|
|
add_index "menu_item_langs", ["lang_site_id"], name: "index_menu_item_langs_on_lang_site_id", using: :btree
|
|
|
|
create_table "menu_item_link_contents", force: :cascade do |t|
|
|
t.integer "menu_item_id", limit: 4
|
|
t.integer "image_file_id", limit: 4
|
|
t.string "title", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.string "url", limit: 255
|
|
t.boolean "popup"
|
|
t.string "style", limit: 255
|
|
t.string "block_type", limit: 255
|
|
t.integer "cible_id", limit: 4
|
|
t.string "cible_type", limit: 255
|
|
t.decimal "proportion", precision: 15, scale: 10
|
|
t.integer "level", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "menu_item_link_contents", ["image_file_id"], name: "index_menu_item_link_contents_on_image_file_id", using: :btree
|
|
add_index "menu_item_link_contents", ["menu_item_id"], name: "index_menu_item_link_contents_on_menu_item_id", using: :btree
|
|
|
|
create_table "menu_item_slug_histories", force: :cascade do |t|
|
|
t.string "permalink", limit: 255
|
|
t.string "locale", limit: 255
|
|
t.integer "menu_item_id", limit: 4
|
|
t.integer "menu_item_lang_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "menu_item_tags", force: :cascade do |t|
|
|
t.integer "menu_item_id", limit: 4
|
|
t.integer "tag_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "menu_items", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.string "permalink", limit: 255
|
|
t.integer "image_file_id", limit: 4
|
|
t.string "section_name", limit: 255
|
|
t.integer "section_id", limit: 4
|
|
t.string "repertoire_name", limit: 255
|
|
t.integer "repertoire_id", limit: 4
|
|
t.integer "parent_id", limit: 4
|
|
t.integer "position", limit: 4
|
|
t.boolean "super_admin"
|
|
t.boolean "enabled"
|
|
t.boolean "visible"
|
|
t.boolean "deleted"
|
|
t.integer "menu_id", limit: 4
|
|
t.integer "menu_content_id", limit: 4
|
|
t.string "menu_content_type", limit: 255
|
|
t.integer "archive_id", limit: 4
|
|
t.boolean "archived"
|
|
t.datetime "archived_at"
|
|
t.boolean "password"
|
|
t.boolean "comment"
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.boolean "sidebar"
|
|
t.boolean "title_image"
|
|
t.string "title_image_style", limit: 255
|
|
t.boolean "title_cached"
|
|
t.integer "icon_image_file_id", limit: 4
|
|
t.integer "icon_b_image_file_id", limit: 4
|
|
t.text "primary_description", limit: 65535
|
|
t.integer "icon_v_image_file_id", limit: 4
|
|
end
|
|
|
|
create_table "menu_urls", force: :cascade do |t|
|
|
t.string "url", limit: 255
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "menus", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "max_levels", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "p_box_fdps", force: :cascade do |t|
|
|
t.integer "p_product_id", limit: 4
|
|
t.integer "p_sheet_line_id", limit: 4
|
|
t.integer "p_product_archived_id", limit: 4
|
|
t.decimal "nbr_el", precision: 10, scale: 2
|
|
t.decimal "nbr_in_box", precision: 10, scale: 2
|
|
t.integer "qte", limit: 4
|
|
t.decimal "price", precision: 10, scale: 2
|
|
t.text "notes", limit: 65535
|
|
t.integer "element_id", limit: 4
|
|
t.string "element_type", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "p_box_fdps", ["p_product_id"], name: "index_p_box_fdps_on_p_product_id", using: :btree
|
|
|
|
create_table "p_certifs", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_colors", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "color", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.boolean "archived", default: false
|
|
end
|
|
|
|
create_table "p_commercials", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "firstname", limit: 255
|
|
t.string "phone", limit: 255
|
|
t.string "email", limit: 255
|
|
t.string "token", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_contacts", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.text "comment", limit: 65535
|
|
t.string "tel", limit: 255
|
|
t.string "email", limit: 255
|
|
t.boolean "bc", default: false
|
|
t.boolean "boolean", default: false
|
|
t.integer "contactable_id", limit: 4
|
|
t.string "contactable_type", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_customer_cats", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "code", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.integer "payment_days", limit: 4
|
|
t.decimal "encourt_max", precision: 14, scale: 4
|
|
end
|
|
|
|
create_table "p_customer_sheets", force: :cascade do |t|
|
|
t.integer "p_customer_id", limit: 4
|
|
t.string "state", limit: 255
|
|
t.string "comments", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.integer "particular_bill_id", limit: 4
|
|
t.integer "particular_send_id", limit: 4
|
|
t.date "wish_start"
|
|
t.date "wish_stop"
|
|
t.decimal "a_total_cost_ok", precision: 14, scale: 4
|
|
t.decimal "a_ok_total", precision: 14, scale: 4
|
|
t.boolean "stock_done", default: false
|
|
t.integer "p_commercial_id", limit: 4
|
|
t.boolean "imported", default: false
|
|
t.string "npiece", limit: 255
|
|
t.string "ecom_status", limit: 255
|
|
t.integer "p_payment_type_id", limit: 4
|
|
t.boolean "cgv", default: false
|
|
t.boolean "comptant", default: true
|
|
t.boolean "acompte", default: false
|
|
t.decimal "acompte_percent", precision: 10
|
|
t.integer "payment_delais", limit: 4
|
|
t.boolean "payment_fin_de_mois", default: false
|
|
t.datetime "paid_start_at"
|
|
t.boolean "paid", default: false
|
|
t.datetime "paid_at"
|
|
t.integer "p_price_cat_id", limit: 4
|
|
t.decimal "fdp_force_price", precision: 10, scale: 2
|
|
end
|
|
|
|
add_index "p_customer_sheets", ["p_payment_type_id"], name: "index_p_customer_sheets_on_p_payment_type_id", using: :btree
|
|
add_index "p_customer_sheets", ["p_price_cat_id"], name: "index_p_customer_sheets_on_p_price_cat_id", using: :btree
|
|
|
|
create_table "p_customers", force: :cascade do |t|
|
|
t.decimal "encourt_max", precision: 12, scale: 4
|
|
t.integer "p_customer_cat_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.integer "particular_id", limit: 4
|
|
t.string "name", limit: 255
|
|
t.string "code", limit: 255
|
|
t.boolean "fav"
|
|
t.boolean "facture_email"
|
|
t.boolean "risque"
|
|
t.integer "admin_id", limit: 4
|
|
t.decimal "cache_ca", precision: 14, scale: 4
|
|
t.decimal "cache_encours", precision: 14, scale: 4
|
|
t.integer "cache_moyenne_paiement", limit: 4
|
|
t.integer "payment_days", limit: 4
|
|
t.integer "parent_id", limit: 4
|
|
t.string "mlm_token", limit: 255
|
|
t.string "parent_code", limit: 255
|
|
t.boolean "parent_at_create", default: false
|
|
t.boolean "imported", default: false
|
|
t.boolean "facture_mail", default: false
|
|
t.boolean "account_validated", default: true
|
|
t.datetime "account_validated_at"
|
|
t.datetime "locked_at"
|
|
t.boolean "lock", default: false
|
|
t.string "last_sign_in_ip", limit: 255
|
|
t.string "current_sign_in_ip", limit: 255
|
|
t.datetime "last_sign_in_at"
|
|
t.datetime "current_sign_in_at"
|
|
t.integer "sign_in_count", limit: 4
|
|
t.datetime "remember_created_at"
|
|
t.datetime "reset_password_sent_at"
|
|
t.string "reset_password_token", limit: 255
|
|
t.string "password_digest", limit: 255
|
|
t.string "email", limit: 255
|
|
t.string "token", limit: 255
|
|
t.integer "p_price_cat_id", limit: 4
|
|
t.boolean "comptant", default: true
|
|
t.boolean "acompte", default: false
|
|
t.decimal "acompte_percent", precision: 10
|
|
t.integer "payment_delais", limit: 4
|
|
t.boolean "payment_fin_de_mois", default: false
|
|
t.string "siren", limit: 255
|
|
t.string "siret", limit: 255
|
|
t.string "ape", limit: 255
|
|
t.integer "p_payment_type_id", limit: 4
|
|
end
|
|
|
|
add_index "p_customers", ["p_price_cat_id"], name: "index_p_customers_on_p_price_cat_id", using: :btree
|
|
|
|
create_table "p_degressifs", force: :cascade do |t|
|
|
t.integer "p_product_id", limit: 4
|
|
t.decimal "price", precision: 10, scale: 2
|
|
t.decimal "nbr", precision: 10, scale: 2
|
|
t.boolean "archived", default: false
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.integer "p_price_cat_id", limit: 4
|
|
end
|
|
|
|
add_index "p_degressifs", ["p_price_cat_id"], name: "index_p_degressifs_on_p_price_cat_id", using: :btree
|
|
add_index "p_degressifs", ["p_product_id"], name: "index_p_degressifs_on_p_product_id", using: :btree
|
|
|
|
create_table "p_document_types", force: :cascade do |t|
|
|
t.string "prefix", limit: 255
|
|
t.string "label", limit: 255
|
|
t.string "affix", limit: 255
|
|
t.text "header", limit: 65535
|
|
t.text "footer", limit: 65535
|
|
t.integer "image_file_id", limit: 4
|
|
t.integer "data_file_id", limit: 4
|
|
t.string "class_type", limit: 255
|
|
t.string "sub_type", limit: 255
|
|
t.string "name", limit: 255
|
|
t.boolean "enabled", default: false
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.integer "position", limit: 4
|
|
end
|
|
|
|
create_table "p_documents", force: :cascade do |t|
|
|
t.string "element_type", limit: 255
|
|
t.integer "element_id", limit: 4
|
|
t.integer "p_document_type_id", limit: 4
|
|
t.integer "particular_bill_id", limit: 4
|
|
t.integer "particular_send_id", limit: 4
|
|
t.string "name", limit: 255
|
|
t.string "d_number", limit: 255
|
|
t.integer "d_index", limit: 4
|
|
t.integer "d_year", limit: 4
|
|
t.string "d_prefix", limit: 255
|
|
t.string "label", limit: 255
|
|
t.text "header", limit: 65535
|
|
t.text "footer", limit: 65535
|
|
t.integer "image_file_id", limit: 4
|
|
t.integer "data_file_id", limit: 4
|
|
t.string "token", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.integer "p_sheet_line_id", limit: 4
|
|
t.string "bl_type", limit: 255
|
|
t.decimal "cache_total_ht", precision: 14, scale: 4
|
|
t.decimal "cache_total_ttc", precision: 14, scale: 4
|
|
t.decimal "cache_tva", precision: 14, scale: 4
|
|
t.integer "payment_days", limit: 4
|
|
t.datetime "cache_exp_date"
|
|
t.integer "p_customer_id", limit: 4
|
|
t.boolean "theo_paid", default: false
|
|
t.datetime "theo_paid_at"
|
|
t.boolean "paid", default: false
|
|
t.datetime "paid_at"
|
|
t.decimal "fdp_force_price", precision: 10, scale: 2
|
|
t.decimal "acompte_percent", precision: 10, scale: 2
|
|
t.decimal "acompte_value", precision: 10, scale: 2
|
|
t.boolean "comptant", default: true
|
|
t.boolean "acompte", default: false
|
|
t.integer "payment_delais", limit: 4
|
|
t.boolean "payment_fin_de_mois", default: false
|
|
t.integer "p_payment_type_id", limit: 4
|
|
end
|
|
|
|
create_table "p_eps", force: :cascade do |t|
|
|
t.integer "ep", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_fournisseur_orders", force: :cascade do |t|
|
|
t.string "ref", limit: 255
|
|
t.decimal "amount", precision: 12, scale: 4
|
|
t.datetime "enter_date"
|
|
t.integer "p_fournisseur_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_fournisseurs", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.string "code", limit: 255
|
|
t.string "address1", limit: 255
|
|
t.string "address2", limit: 255
|
|
t.string "cp", limit: 255
|
|
t.string "city", limit: 255
|
|
t.string "country", limit: 255
|
|
t.string "email", limit: 255
|
|
t.string "tel", limit: 255
|
|
end
|
|
|
|
create_table "p_friend_kaps", force: :cascade do |t|
|
|
t.integer "kap_id", limit: 4
|
|
t.integer "p_friend_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "p_friend_kaps", ["kap_id"], name: "index_p_friend_kaps_on_kap_id", using: :btree
|
|
add_index "p_friend_kaps", ["p_friend_id"], name: "index_p_friend_kaps_on_p_friend_id", using: :btree
|
|
|
|
create_table "p_friends", force: :cascade do |t|
|
|
t.integer "p_customer_id", limit: 4
|
|
t.integer "p_friend_customer_id", limit: 4
|
|
t.boolean "enabled", default: false
|
|
t.boolean "initiator", default: false
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "p_friends", ["p_customer_id"], name: "index_p_friends_on_p_customer_id", using: :btree
|
|
|
|
create_table "p_origines", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_payment_documents", force: :cascade do |t|
|
|
t.integer "p_payment_id", limit: 4
|
|
t.integer "p_document_id", limit: 4
|
|
t.decimal "amount", precision: 14, scale: 4
|
|
t.boolean "paid", default: false
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_payment_types", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "code", limit: 255
|
|
t.boolean "enabled"
|
|
t.boolean "comptant"
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_payments", force: :cascade do |t|
|
|
t.datetime "paid_at"
|
|
t.datetime "theo_date"
|
|
t.integer "p_payment_type_id", limit: 4
|
|
t.decimal "amount", precision: 10
|
|
t.string "number", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.integer "p_customer_id", limit: 4
|
|
t.boolean "paid", default: false
|
|
t.boolean "canceled", default: false
|
|
t.boolean "affected", default: false
|
|
end
|
|
|
|
create_table "p_price_cat_p_degressifs", force: :cascade do |t|
|
|
t.integer "p_price_cat_id", limit: 4
|
|
t.integer "p_degressif_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "p_price_cat_p_degressifs", ["p_degressif_id"], name: "index_p_price_cat_p_degressifs_on_p_degressif_id", using: :btree
|
|
add_index "p_price_cat_p_degressifs", ["p_price_cat_id"], name: "index_p_price_cat_p_degressifs_on_p_price_cat_id", using: :btree
|
|
|
|
create_table "p_price_cats", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.boolean "enabled", default: true
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_product_cats", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "code", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_product_certifs", force: :cascade do |t|
|
|
t.integer "p_product_id", limit: 4
|
|
t.integer "p_certif_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "p_product_certifs", ["p_certif_id"], name: "index_p_product_certifs_on_p_certif_id", using: :btree
|
|
add_index "p_product_certifs", ["p_product_id"], name: "index_p_product_certifs_on_p_product_id", using: :btree
|
|
|
|
create_table "p_product_colors", force: :cascade do |t|
|
|
t.integer "p_product_id", limit: 4
|
|
t.integer "p_color_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "p_product_colors", ["p_color_id"], name: "index_p_product_colors_on_p_color_id", using: :btree
|
|
add_index "p_product_colors", ["p_product_id"], name: "index_p_product_colors_on_p_product_id", using: :btree
|
|
|
|
create_table "p_product_qtes", force: :cascade do |t|
|
|
t.integer "p_product_id", limit: 4
|
|
t.integer "p_qte_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "p_product_qtes", ["p_product_id"], name: "index_p_product_qtes_on_p_product_id", using: :btree
|
|
add_index "p_product_qtes", ["p_qte_id"], name: "index_p_product_qtes_on_p_qte_id", using: :btree
|
|
|
|
create_table "p_product_sizes", force: :cascade do |t|
|
|
t.integer "p_product_id", limit: 4
|
|
t.integer "p_size_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "p_product_sizes", ["p_product_id"], name: "index_p_product_sizes_on_p_product_id", using: :btree
|
|
add_index "p_product_sizes", ["p_size_id"], name: "index_p_product_sizes_on_p_size_id", using: :btree
|
|
|
|
create_table "p_product_specs", force: :cascade do |t|
|
|
t.integer "p_product_id", limit: 4
|
|
t.string "code", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_product_stocks", force: :cascade do |t|
|
|
t.integer "p_product_id", limit: 4
|
|
t.integer "p_color_id", limit: 4
|
|
t.integer "p_size_id", limit: 4
|
|
t.decimal "stock_th_ok", precision: 10
|
|
t.decimal "stock_ok", precision: 10
|
|
t.string "code", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "p_product_stocks", ["p_color_id"], name: "index_p_product_stocks_on_p_color_id", using: :btree
|
|
add_index "p_product_stocks", ["p_product_id"], name: "index_p_product_stocks_on_p_product_id", using: :btree
|
|
add_index "p_product_stocks", ["p_size_id"], name: "index_p_product_stocks_on_p_size_id", using: :btree
|
|
|
|
create_table "p_products", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.decimal "price", precision: 14, scale: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.integer "p_product_cat_id", limit: 4
|
|
t.string "code", limit: 255
|
|
t.string "conditionnement", limit: 255
|
|
t.string "uv", limit: 255
|
|
t.string "compte_achat", limit: 255
|
|
t.string "compte_vente", limit: 255
|
|
t.integer "p_origine_id", limit: 4
|
|
t.integer "p_ep_id", limit: 4
|
|
t.boolean "archived", default: false
|
|
t.text "description", limit: 65535
|
|
t.integer "image_file_id", limit: 4
|
|
t.boolean "enabled", default: true
|
|
end
|
|
|
|
add_index "p_products", ["p_ep_id"], name: "index_p_products_on_p_ep_id", using: :btree
|
|
add_index "p_products", ["p_origine_id"], name: "index_p_products_on_p_origine_id", using: :btree
|
|
|
|
create_table "p_qtes", force: :cascade do |t|
|
|
t.integer "qte", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_sheet_line_lines", force: :cascade do |t|
|
|
t.integer "p_sheet_line_id", limit: 4
|
|
t.integer "p_product_stock_id", limit: 4
|
|
t.integer "p_size_id", limit: 4
|
|
t.integer "p_color_id", limit: 4
|
|
t.integer "ok_p_size_id", limit: 4
|
|
t.integer "ok_p_color_id", limit: 4
|
|
t.string "ok_code", limit: 255
|
|
t.integer "qte", limit: 4
|
|
t.decimal "price_u_ht", precision: 10, scale: 2
|
|
t.decimal "price_ht", precision: 10, scale: 2
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "p_sheet_line_lines", ["p_color_id"], name: "index_p_sheet_line_lines_on_p_color_id", using: :btree
|
|
add_index "p_sheet_line_lines", ["p_product_stock_id"], name: "index_p_sheet_line_lines_on_p_product_stock_id", using: :btree
|
|
add_index "p_sheet_line_lines", ["p_sheet_line_id"], name: "index_p_sheet_line_lines_on_p_sheet_line_id", using: :btree
|
|
add_index "p_sheet_line_lines", ["p_size_id"], name: "index_p_sheet_line_lines_on_p_size_id", using: :btree
|
|
|
|
create_table "p_sheet_line_stocks", force: :cascade do |t|
|
|
t.integer "p_sheet_line_id", limit: 4
|
|
t.integer "p_brut_product_id", limit: 4
|
|
t.integer "p_product_brut_stock_id", limit: 4
|
|
t.boolean "ok", default: false
|
|
t.datetime "ok_at"
|
|
t.decimal "qte", precision: 14, scale: 4
|
|
t.decimal "qte_ok", precision: 14, scale: 4
|
|
t.decimal "price", precision: 14, scale: 4
|
|
t.decimal "price_ok", precision: 14, scale: 4
|
|
t.boolean "lock", default: false
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_sheet_lines", force: :cascade do |t|
|
|
t.integer "p_customer_sheet_id", limit: 4
|
|
t.integer "p_product_id", limit: 4
|
|
t.integer "p_tank_id", limit: 4
|
|
t.decimal "qte", precision: 10
|
|
t.decimal "price", precision: 10
|
|
t.datetime "ok_at"
|
|
t.decimal "ok_qte", precision: 10
|
|
t.decimal "ok_price", precision: 10
|
|
t.decimal "ok_price_abs", precision: 10
|
|
t.boolean "ok"
|
|
t.boolean "lock"
|
|
t.boolean "externe", default: false
|
|
t.integer "externe_stock_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.integer "p_document_id", limit: 4
|
|
t.boolean "shiped", default: false
|
|
t.boolean "bl", default: false
|
|
t.boolean "ship", default: false
|
|
t.boolean "stock_done", default: false
|
|
t.decimal "a_total_cost_ok", precision: 14, scale: 4
|
|
t.integer "p_product_stock_id", limit: 4
|
|
t.integer "archived_p_product_stock_id", limit: 4
|
|
t.integer "archived_p_size_id", limit: 4
|
|
t.integer "archived_p_color_id", limit: 4
|
|
t.string "archived_code", limit: 255
|
|
t.integer "archived_p_product_id", limit: 4
|
|
end
|
|
|
|
add_index "p_sheet_lines", ["p_product_stock_id"], name: "index_p_sheet_lines_on_p_product_stock_id", using: :btree
|
|
|
|
create_table "p_ship_bill_lines", force: :cascade do |t|
|
|
t.integer "p_ship_bill_id", limit: 4
|
|
t.string "name", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.decimal "qte", precision: 14, scale: 4
|
|
t.decimal "price", precision: 14, scale: 4
|
|
t.decimal "a_ok_total", precision: 14, scale: 4
|
|
t.boolean "paid", default: false
|
|
t.date "paid_at"
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_ship_bills", force: :cascade do |t|
|
|
t.date "count_date"
|
|
t.date "bill_at"
|
|
t.string "ref", limit: 255
|
|
t.integer "p_fournisseur_id", limit: 4
|
|
t.text "comment", limit: 65535
|
|
t.decimal "a_ok_total", precision: 14, scale: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_sizes", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.boolean "archived", default: false
|
|
t.integer "position", limit: 4
|
|
end
|
|
|
|
create_table "p_tank_stocks", force: :cascade do |t|
|
|
t.datetime "ok_at"
|
|
t.boolean "enabled"
|
|
t.integer "p_brut_product_id", limit: 4
|
|
t.decimal "volume", precision: 12, scale: 4
|
|
t.decimal "price", precision: 12, scale: 4
|
|
t.integer "p_tank_id", limit: 4
|
|
t.string "stock_type", limit: 255
|
|
t.decimal "volume_abs", precision: 12, scale: 4
|
|
t.decimal "volume_restant", precision: 12, scale: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "p_tanks", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.decimal "volume", precision: 14, scale: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "pages", force: :cascade do |t|
|
|
t.text "title", limit: 65535
|
|
t.text "description", limit: 65535
|
|
t.text "keywords", limit: 65535
|
|
t.integer "lang_site_id", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.integer "page_type_id", limit: 4, default: 1
|
|
t.boolean "clikable", default: true
|
|
end
|
|
|
|
add_index "pages", ["lang_site_id"], name: "index_pages_on_lang_site_id", using: :btree
|
|
|
|
create_table "particulars", force: :cascade do |t|
|
|
t.boolean "pro"
|
|
t.string "organisation", limit: 255
|
|
t.string "name", limit: 255
|
|
t.string "firstname", limit: 255
|
|
t.string "address_1", limit: 255
|
|
t.string "address_2", limit: 255
|
|
t.string "address_3", limit: 255
|
|
t.string "address_4", limit: 255
|
|
t.string "address_5", limit: 255
|
|
t.string "cp", limit: 255
|
|
t.string "city", limit: 255
|
|
t.string "country", limit: 255
|
|
t.string "tel", limit: 255
|
|
t.string "email", limit: 255
|
|
t.string "tel2", limit: 255
|
|
t.string "tel3", limit: 255
|
|
t.string "fax", limit: 255
|
|
t.string "owner_type", limit: 255
|
|
t.integer "owner_id", limit: 4
|
|
t.string "particular_type", limit: 255
|
|
t.boolean "skip_validation"
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.string "civilite", limit: 255
|
|
t.boolean "archived"
|
|
t.integer "particular_ref_id", limit: 4
|
|
t.boolean "price_in_bl", default: true
|
|
end
|
|
|
|
create_table "popup_popupables", force: :cascade do |t|
|
|
t.integer "popup_id", limit: 4
|
|
t.integer "popupable_id", limit: 4
|
|
t.string "popupable_type", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "popups", force: :cascade do |t|
|
|
t.boolean "enabled"
|
|
t.datetime "start_at"
|
|
t.datetime "end_at"
|
|
t.integer "nbr_days", limit: 4
|
|
t.integer "nbr_view", limit: 4
|
|
t.integer "nbr_occurrences", limit: 4
|
|
t.string "title", limit: 255
|
|
t.boolean "logo"
|
|
t.text "description", limit: 65535
|
|
t.integer "lang_site_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.string "version_id", limit: 255
|
|
end
|
|
|
|
create_table "portlets", force: :cascade do |t|
|
|
t.integer "block_id", limit: 4
|
|
t.integer "content_id", limit: 4
|
|
t.string "content_type", limit: 255
|
|
t.integer "position", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "quote_contents", force: :cascade do |t|
|
|
t.text "quote", limit: 65535
|
|
t.string "author", limit: 255
|
|
t.string "color", limit: 255
|
|
t.string "background", limit: 255
|
|
t.string "style", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
t.integer "image_file_id", limit: 4
|
|
end
|
|
|
|
create_table "share_contents", force: :cascade do |t|
|
|
t.string "url", limit: 255
|
|
t.string "facebook_url", limit: 255
|
|
t.boolean "facebook"
|
|
t.string "twitter_url", limit: 255
|
|
t.string "twitter_title", limit: 255
|
|
t.boolean "twitter"
|
|
t.string "mail_subject", limit: 255
|
|
t.string "mail_url", limit: 255
|
|
t.text "mail_content", limit: 65535
|
|
t.boolean "mail"
|
|
t.string "print_url", limit: 255
|
|
t.boolean "print"
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "slide_contents", force: :cascade do |t|
|
|
t.integer "home_slider_id", limit: 4
|
|
t.string "style", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "specific_map_items", force: :cascade do |t|
|
|
t.integer "specific_map_id", limit: 4
|
|
t.decimal "g_latitude", precision: 10, scale: 6
|
|
t.decimal "decimal", precision: 10, scale: 6
|
|
t.decimal "g_longitude", precision: 10, scale: 6
|
|
t.string "g_text", limit: 255
|
|
t.string "titre", limit: 255
|
|
t.string "name", limit: 255
|
|
t.string "firstname", limit: 255
|
|
t.string "organisation", limit: 255
|
|
t.string "address", limit: 255
|
|
t.string "cp", limit: 255
|
|
t.string "city", limit: 255
|
|
t.string "country", limit: 255
|
|
t.string "tel", limit: 255
|
|
t.string "email", limit: 255
|
|
t.string "website", limit: 255
|
|
t.string "notes", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "specific_map_items", ["specific_map_id"], name: "index_specific_map_items_on_specific_map_id", using: :btree
|
|
|
|
create_table "specific_maps", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "specific_preferences", force: :cascade do |t|
|
|
t.string "key", limit: 255
|
|
t.string "value", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "table_contents", force: :cascade do |t|
|
|
t.integer "style", limit: 4
|
|
t.integer "nbr_rows", limit: 4
|
|
t.integer "nbr_cols", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "table_rows", force: :cascade do |t|
|
|
t.integer "position", limit: 4
|
|
t.integer "style", limit: 4
|
|
t.integer "table_content_id", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "tag_taggables", force: :cascade do |t|
|
|
t.string "taggable_type", limit: 255
|
|
t.integer "taggable_id", limit: 4
|
|
t.integer "tag_id", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "tags", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.integer "parent_id", limit: 4
|
|
t.boolean "public"
|
|
t.string "taggable_type", limit: 255
|
|
t.integer "taggable_id", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "text_contents", force: :cascade do |t|
|
|
t.string "style", limit: 255
|
|
t.text "content", limit: 65535
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "time_contents", force: :cascade do |t|
|
|
t.string "date", limit: 255
|
|
t.integer "image_file_id", limit: 4
|
|
t.text "description", limit: 65535
|
|
t.string "style", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "timeline_contents", force: :cascade do |t|
|
|
t.integer "image_file_id", limit: 4
|
|
t.string "title", limit: 255
|
|
t.integer "position", limit: 4
|
|
t.text "content", limit: 65535
|
|
t.integer "timeline_year_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "timeline_contents", ["image_file_id"], name: "index_timeline_contents_on_image_file_id", using: :btree
|
|
add_index "timeline_contents", ["timeline_year_id"], name: "index_timeline_contents_on_timeline_year_id", using: :btree
|
|
|
|
create_table "timeline_histories", force: :cascade do |t|
|
|
t.string "title", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
create_table "timeline_history_contents", force: :cascade do |t|
|
|
t.integer "timeline_history_id", limit: 4
|
|
t.string "style", limit: 255
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "timeline_history_contents", ["timeline_history_id"], name: "index_timeline_history_contents_on_timeline_history_id", using: :btree
|
|
|
|
create_table "timeline_years", force: :cascade do |t|
|
|
t.integer "year", limit: 4
|
|
t.integer "r", limit: 4
|
|
t.integer "timeline_history_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "timeline_years", ["timeline_history_id"], name: "index_timeline_years_on_timeline_history_id", using: :btree
|
|
|
|
create_table "tiny_urls", force: :cascade do |t|
|
|
t.string "url", limit: 255
|
|
t.string "slug", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.datetime "start_at"
|
|
t.datetime "stop_at"
|
|
t.integer "nbr_views", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "title_contents", force: :cascade do |t|
|
|
t.text "content", limit: 65535
|
|
t.integer "level", limit: 4
|
|
t.string "style", limit: 255
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.string "alignement", limit: 255
|
|
end
|
|
|
|
create_table "translations", force: :cascade do |t|
|
|
t.string "locale", limit: 255
|
|
t.string "key", limit: 255
|
|
t.text "value", limit: 65535
|
|
t.text "interpolations", limit: 65535
|
|
t.boolean "is_proc", default: false
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
create_table "video_contents", force: :cascade do |t|
|
|
t.integer "video_file_id", limit: 4
|
|
t.string "title", limit: 255
|
|
t.boolean "download"
|
|
t.boolean "autoplay"
|
|
t.boolean "fullscreen"
|
|
t.boolean "controls"
|
|
t.string "legend", limit: 255
|
|
t.string "style", limit: 255
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
end
|
|
|
|
add_index "video_contents", ["video_file_id"], name: "index_video_contents_on_video_file_id", using: :btree
|
|
|
|
create_table "video_file_langs", force: :cascade do |t|
|
|
t.string "title", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.string "slug", limit: 255
|
|
t.integer "video_file_id", limit: 4
|
|
t.integer "lang_site_id", limit: 4
|
|
t.datetime "created_at", null: false
|
|
t.datetime "updated_at", null: false
|
|
end
|
|
|
|
add_index "video_file_langs", ["video_file_id"], name: "index_video_file_langs_on_video_file_id", using: :btree
|
|
|
|
create_table "video_files", force: :cascade do |t|
|
|
t.string "title", limit: 255
|
|
t.text "description", limit: 65535
|
|
t.string "token", limit: 255
|
|
t.string "poster", limit: 255
|
|
t.string "mpg", limit: 255
|
|
t.string "ogg", limit: 255
|
|
t.string "webm", limit: 255
|
|
t.string "youtube_link", limit: 255
|
|
t.string "youtube_code", limit: 255
|
|
t.integer "video_folder_id", limit: 4
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.string "slug", limit: 255
|
|
t.integer "image_file_id", limit: 4
|
|
t.string "vimeo_code", limit: 255
|
|
t.boolean "public", default: false
|
|
t.datetime "published_at"
|
|
t.integer "position", limit: 4
|
|
t.boolean "fr", default: true
|
|
t.boolean "en", default: false
|
|
end
|
|
|
|
add_index "video_files", ["image_file_id"], name: "index_video_files_on_image_file_id", using: :btree
|
|
add_index "video_files", ["video_folder_id"], name: "index_video_files_on_video_folder_id", using: :btree
|
|
|
|
create_table "video_folders", force: :cascade do |t|
|
|
t.string "name", limit: 255
|
|
t.boolean "super_admin"
|
|
t.text "description", limit: 65535
|
|
t.datetime "created_at"
|
|
t.datetime "updated_at"
|
|
t.boolean "public"
|
|
t.integer "position", limit: 4
|
|
end
|
|
|
|
add_foreign_key "articles", "article_authors"
|
|
add_foreign_key "block_contents", "image_files"
|
|
add_foreign_key "data_files", "image_files"
|
|
add_foreign_key "home_slide_langs", "home_slider_slides"
|
|
add_foreign_key "home_slide_langs", "lang_sites"
|
|
add_foreign_key "home_slider_slides", "home_sliders"
|
|
add_foreign_key "kaps", "p_customers"
|
|
add_foreign_key "kaps_days", "p_customers"
|
|
add_foreign_key "kaps_rappel_items", "kaps_days"
|
|
add_foreign_key "kaps_rappel_items", "kaps_rappels"
|
|
add_foreign_key "kaps_rappel_items", "kapsmes"
|
|
add_foreign_key "kaps_rappels", "kaps"
|
|
add_foreign_key "kapsmes", "kaps"
|
|
add_foreign_key "kapsmes", "p_customers"
|
|
add_foreign_key "lang_pages", "lang_sites"
|
|
add_foreign_key "lang_pages", "pages"
|
|
add_foreign_key "menu_item_langs", "image_files"
|
|
add_foreign_key "menu_item_langs", "lang_sites"
|
|
add_foreign_key "p_box_fdps", "p_products"
|
|
add_foreign_key "p_customer_sheets", "p_payment_types"
|
|
add_foreign_key "p_customer_sheets", "p_price_cats"
|
|
add_foreign_key "p_customers", "p_price_cats"
|
|
add_foreign_key "p_degressifs", "p_price_cats"
|
|
add_foreign_key "p_degressifs", "p_products"
|
|
add_foreign_key "p_friend_kaps", "kaps"
|
|
add_foreign_key "p_friend_kaps", "p_friends"
|
|
add_foreign_key "p_friends", "p_customers"
|
|
add_foreign_key "p_price_cat_p_degressifs", "p_degressifs"
|
|
add_foreign_key "p_price_cat_p_degressifs", "p_price_cats"
|
|
add_foreign_key "p_product_certifs", "p_certifs"
|
|
add_foreign_key "p_product_certifs", "p_products"
|
|
add_foreign_key "p_product_colors", "p_colors"
|
|
add_foreign_key "p_product_colors", "p_products"
|
|
add_foreign_key "p_product_qtes", "p_products"
|
|
add_foreign_key "p_product_qtes", "p_qtes"
|
|
add_foreign_key "p_product_sizes", "p_products"
|
|
add_foreign_key "p_product_sizes", "p_sizes"
|
|
add_foreign_key "p_product_stocks", "p_colors"
|
|
add_foreign_key "p_product_stocks", "p_products"
|
|
add_foreign_key "p_product_stocks", "p_sizes"
|
|
add_foreign_key "p_products", "p_eps"
|
|
add_foreign_key "p_products", "p_origines"
|
|
add_foreign_key "p_sheet_line_lines", "p_colors"
|
|
add_foreign_key "p_sheet_line_lines", "p_product_stocks"
|
|
add_foreign_key "p_sheet_line_lines", "p_sheet_lines"
|
|
add_foreign_key "p_sheet_line_lines", "p_sizes"
|
|
add_foreign_key "p_sheet_lines", "p_product_stocks"
|
|
add_foreign_key "specific_map_items", "specific_maps"
|
|
add_foreign_key "timeline_contents", "image_files"
|
|
add_foreign_key "timeline_contents", "timeline_years"
|
|
add_foreign_key "timeline_years", "timeline_histories"
|
|
add_foreign_key "video_file_langs", "video_files"
|
|
add_foreign_key "video_files", "image_files"
|
|
end
|