# 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: 20190203134413) 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

  add_index "admin_admin_roles", ["admin_id"], name: "index_admin_admin_roles_on_admin_id", using: :btree
  add_index "admin_admin_roles", ["admin_role_id"], name: "index_admin_admin_roles_on_admin_role_id", using: :btree

  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

  add_index "admin_permission_admin_roles", ["admin_permission_id"], name: "index_admin_permission_admin_roles_on_admin_permission_id", using: :btree
  add_index "admin_permission_admin_roles", ["admin_role_id"], name: "index_admin_permission_admin_roles_on_admin_role_id", using: :btree

  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

  add_index "articleindexs_contents", ["category_id"], name: "index_articleindexs_contents_on_category_id", using: :btree

  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

  add_index "category_categoryables", ["category_id"], name: "index_category_categoryables_on_category_id", using: :btree

  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

  add_index "data_file_passwords", ["data_file_id"], name: "index_data_file_passwords_on_data_file_id", using: :btree

  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

  add_index "edit_watchers", ["admin_id"], name: "index_edit_watchers_on_admin_id", using: :btree

  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 "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

  add_index "mail_contents", ["lang_site_id"], name: "index_mail_contents_on_lang_site_id", using: :btree
  add_index "mail_contents", ["mail_template_id"], name: "index_mail_contents_on_mail_template_id", using: :btree
  add_index "mail_contents", ["mail_type_id"], name: "index_mail_contents_on_mail_type_id", using: :btree

  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_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: 12, scale: 2
    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: 12, scale: 2
    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: 14, scale: 2
    t.decimal  "price",                                   precision: 14, scale: 2
    t.datetime "ok_at"
    t.decimal  "ok_qte",                                  precision: 14, scale: 2
    t.decimal  "ok_price",                                precision: 14, scale: 2
    t.decimal  "ok_price_abs",                            precision: 14, scale: 2
    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: 2
    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
    t.string   "cust_ref",                    limit: 255
  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 "admin_admin_roles", "admin_roles"
  add_foreign_key "admin_admin_roles", "admins"
  add_foreign_key "admin_permission_admin_roles", "admin_permissions"
  add_foreign_key "admin_permission_admin_roles", "admin_roles"
  add_foreign_key "articleindexs_contents", "categories"
  add_foreign_key "articles", "article_authors"
  add_foreign_key "block_contents", "image_files"
  add_foreign_key "category_categoryables", "categories"
  add_foreign_key "data_file_passwords", "data_files"
  add_foreign_key "data_files", "image_files"
  add_foreign_key "edit_watchers", "admins"
  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 "lang_pages", "lang_sites"
  add_foreign_key "lang_pages", "pages"
  add_foreign_key "mail_contents", "lang_sites"
  add_foreign_key "mail_contents", "mail_templates"
  add_foreign_key "mail_contents", "mail_types"
  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_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