propel:
  category:
    id: { type: INTEGER, primaryKey: true, required: true, autoIncrement: true }
    category_id: { type: INTEGER, foreignTable: category, foreignReference: id, onDelete: restrict }
    created_at: { type: TIMESTAMP }
    updated_at: { type: TIMESTAMP }
    category_id_path: { type: VARCHAR, size: '255' }
    tree_level: { type: SMALLINT }
    category_sort: { type: SMALLINT }
    name_pl: { type: VARCHAR, size: '128', required: false }
    name_en: { type: VARCHAR, size: '128', required: false }
    name_de: { type: VARCHAR, size: '128', required: false }
    name_ru: { type: VARCHAR, size: '128', required: false }
    description_pl: { type: LONGVARCHAR }
    description_en: { type: LONGVARCHAR }
    description_de: { type: LONGVARCHAR }
    description_ru: { type: LONGVARCHAR }
    mobile_description_pl: { type: LONGVARCHAR }
    mobile_description_en: { type: LONGVARCHAR }
    mobile_description_de: { type: LONGVARCHAR }
    mobile_description_ru: { type: LONGVARCHAR }
    active_pl: { type: BOOLEAN, default: '0' }
    active_en: { type: BOOLEAN, default: '0' }
    active_de: { type: BOOLEAN, default: '0' }
    active_ru: { type: BOOLEAN, default: '0' }
    vertical_position: { type: BOOLEAN, default: '0' }
    mobile: { type: BOOLEAN, default: '0', required: true }    
    name_es: { type: VARCHAR, size: '128', required: false }
    description_es: { type: LONGVARCHAR }
    mobile_description_es: { type: LONGVARCHAR }
    active_es: { type: BOOLEAN, default: '0' }
    picture: { type: VARCHAR, size: '150', required: false }
  complaint:
    id: { type: INTEGER, primaryKey: true, required: true, autoIncrement: true }
    product_name: { type: VARCHAR, size: '255', required: true }
    guarantee_card_number: { type: VARCHAR, size: '255', required: true}
    serial_number: { type: VARCHAR, size: '255', required: true}
    invoice_number: { type: VARCHAR, size: '255', required: true}
    from_day: { type: DATE, required: true }
    invoice_date: { type: DATE, required: true }
    person_name: { type: VARCHAR, size: '100', required: true }
    person_surname: { type: VARCHAR, size: '100', required: true }
    person_position: { type: VARCHAR, size: '255', required: true }
    person_phone: { type: VARCHAR, size: '30', required: true }
    person_address: { type: VARCHAR, size: '255', required: true }
    remark: { type: LONGVARCHAR, required: true }
    cur_date: { type: DATE, required: true }
    place: { type: VARCHAR, size: '255', required: true }
  product:
    id: { type: INTEGER, primaryKey: true, required: true, autoIncrement: true }
    category_id: { type: INTEGER, foreignTable: category, foreignReference: id, onDelete: restrict }
    created_at: ~
    updated_at: ~
    rank:  { type: integer, required: false }
    serial: { type: VARCHAR, size: '16' }
    dimension_pl: { type: LONGVARCHAR }
    dimension_en: { type: LONGVARCHAR }
    dimension_de: { type: LONGVARCHAR }
    dimension_ru: { type: LONGVARCHAR }
    name_pl: { type: VARCHAR, size: '128' }
    name_en: { type: VARCHAR, size: '128' }
    name_de: { type: VARCHAR, size: '128' }
    name_ru: { type: VARCHAR, size: '128' }
    description_pl: { type: LONGVARCHAR }
    description_en: { type: LONGVARCHAR }
    description_de: { type: LONGVARCHAR }
    description_ru: { type: LONGVARCHAR }
    short_description_pl: { type: LONGVARCHAR }
    short_description_en: { type: LONGVARCHAR }
    short_description_de: { type: LONGVARCHAR }
    short_description_ru: { type: LONGVARCHAR }
    active_pl: { type: BOOLEAN, default: '0' }
    active_en: { type: BOOLEAN, default: '0' }
    active_de: { type: BOOLEAN, default: '0' }
    active_ru: { type: BOOLEAN, default: '0' }
    mobile_description_pl: { type: LONGVARCHAR }
    mobile_description_en: { type: LONGVARCHAR }
    mobile_description_de: { type: LONGVARCHAR }
    mobile_description_ru: { type: LONGVARCHAR }
    vertical_position: { type: BOOLEAN, default: '0' }
    mobile: { type: BOOLEAN, default: '0', required: true }
    dimension_es: { type: LONGVARCHAR }
    name_es: { type: VARCHAR, size: '128' }
    description_es: { type: LONGVARCHAR }
    short_description_es: { type: LONGVARCHAR }
    active_es: { type: BOOLEAN, default: '0' }
    mobile_description_es: { type: LONGVARCHAR }
    image_name: { type: VARCHAR, size: '200' }
    warranty_pl: { type: LONGVARCHAR }
    warranty_en: { type: LONGVARCHAR }
    warranty_de: { type: LONGVARCHAR }
    warranty_ru: { type: LONGVARCHAR }
    warranty_es: { type: LONGVARCHAR }
    show_warranty_pl: { type: BOOLEAN, default: '0' }
    show_warranty_en: { type: BOOLEAN, default: '0' }
    show_warranty_de: { type: BOOLEAN, default: '0' }
    show_warranty_ru: { type: BOOLEAN, default: '0' }
    show_warranty_es: { type: BOOLEAN, default: '0' }
    main_features_pl: { type: LONGVARCHAR }
    main_features_en: { type: LONGVARCHAR }
    main_features_de: { type: LONGVARCHAR }
    main_features_ru: { type: LONGVARCHAR }
    main_features_es: { type: LONGVARCHAR }
    measurement_height: { type: VARCHAR, size: '100' }
    measurement_wide: { type: VARCHAR, size: '100' }
    measurement_long: { type: VARCHAR, size: '100' }
    measurement_weight: { type: VARCHAR, size: '100' }
    show_measurement: { type: BOOLEAN, default: '0' }
  promotion:
    id: { type: INTEGER, primaryKey: true, required: true, autoIncrement: true }
    name_pl: { type: VARCHAR, size: '128' }
    name_en: { type: VARCHAR, size: '128' }
    name_de: { type: VARCHAR, size: '128' }
    name_ru: { type: VARCHAR, size: '128' }
    created_at: ~
    updated_at: ~
    start_date: { type: DATE }
    end_date: { type: DATE }
    active_pl: { type: BOOLEAN, default: '0' }
    active_en: { type: BOOLEAN, default: '0' }
    active_de: { type: BOOLEAN, default: '0' }
    active_ru: { type: BOOLEAN, default: '0' }
    name_es: { type: VARCHAR, size: '128' }
    active_es: { type: BOOLEAN, default: '0' }
  product_promotion:
    promotion_id: { type: integer, foreignTable: promotion, foreignReference: id, required: true, primaryKey: true, onDelete: cascade }
    product_id:     { type: integer, foreignTable: product, foreignReference: id, primaryKey: true, required: true, onDelete: cascade }
  product_image:
    id:  { type: INTEGER, primaryKey: true, required: true, autoIncrement: true }
    product_id:  { type: integer, required: true, foreignTable: product, foreignReference: id, onDelete: cascade }
    photo:  { type: varchar, size: 250 }
    thumb:  { type: varchar, size: 250 }
    rank:  { type: integer, required: false }
    created_at:  ~ 
    description_pl: { type: LONGVARCHAR }
    description_en: { type: LONGVARCHAR }
    description_de: { type: LONGVARCHAR }
    description_ru: { type: LONGVARCHAR }
    description_es: { type: LONGVARCHAR }
  contact:
    id:  { type: INTEGER, primaryKey: true, required: true, autoIncrement: true }
    name_pl: { type: VARCHAR, size: 50 }
    name_en: { type: VARCHAR, size: 50 }
    name_de: { type: VARCHAR, size: 50 }
    name_ru: { type: VARCHAR, size: 50 }
    description: { type: LONGVARCHAR }
    continent: { type: VARCHAR, size: 50, required: true }
    name_es: { type: VARCHAR, size: 50 }
  past_projects:
    id:  { type: INTEGER, primaryKey: true, required: true, autoIncrement: true }
    title_en: { type: VARCHAR, size: 255 }
    google_link: { type: LONGVARCHAR }
    active: { type: BOOLEAN, default: false }
    category_id:  { type: integer, required: true, foreignTable: category, foreignReference: id, onDelete: cascade }
    description_pl: { type: LONGVARCHAR }
    description_en: { type: LONGVARCHAR }
    description_de: { type: LONGVARCHAR }
    description_ru: { type: LONGVARCHAR }
    description_es: { type: LONGVARCHAR }
    year_of_realization: { type: VARCHAR, size: 100 }
    products_pl: { type: LONGVARCHAR }
    products_en: { type: LONGVARCHAR }
    products_de: { type: LONGVARCHAR }
    products_ru: { type: LONGVARCHAR }
    products_es: { type: LONGVARCHAR }
    type_of_room_pl: { type: LONGVARCHAR }
    type_of_room_en: { type: LONGVARCHAR }
    type_of_room_de: { type: LONGVARCHAR }
    type_of_room_ru: { type: LONGVARCHAR }
    type_of_room_es: { type: LONGVARCHAR }
    title_pl: { type: VARCHAR, size: 255 }
    title_de: { type: VARCHAR, size: 255 }
    title_ru: { type: VARCHAR, size: 255 }
    title_es: { type: VARCHAR, size: 255 }
    tor_active_pl: { type: BOOLEAN, default: true }
    tor_active_en: { type: BOOLEAN, default: true }
    tor_active_de: { type: BOOLEAN, default: true }
    tor_active_ru: { type: BOOLEAN, default: true }
    tor_active_es: { type: BOOLEAN, default: true }
    prod_active_pl: { type: BOOLEAN, default: true }
    prod_active_en: { type: BOOLEAN, default: true }
    prod_active_de: { type: BOOLEAN, default: true }
    prod_active_es: { type: BOOLEAN, default: true }
    prod_active_ru: { type: BOOLEAN, default: true }
    yor_active: { type: BOOLEAN, default: true }
    des_active_pl: { type: BOOLEAN, default: true }
    des_active_en: { type: BOOLEAN, default: true }
    des_active_de: { type: BOOLEAN, default: true }
    des_active_es: { type: BOOLEAN, default: true }
    des_active_ru: { type: BOOLEAN, default: true }
  past_project_image:
    id:  { type: INTEGER, primaryKey: true, required: true, autoIncrement: true }
    past_project_id:  { type: integer, required: true, foreignTable: past_projects, foreignReference: id, onDelete: cascade }
    photo:  { type: varchar, size: 250 }
    thumb:  { type: varchar, size: 250 }
    rank:  { type: integer, required: false }
    created_at:  ~ 
    description_pl: { type: LONGVARCHAR }
    description_en: { type: LONGVARCHAR }
    description_de: { type: LONGVARCHAR }
    description_ru: { type: LONGVARCHAR }
    description_es: { type: LONGVARCHAR }
  label_storage:
    id:  { type: INTEGER, primaryKey: true, required: true, autoIncrement: true }
    label:  { type: varchar, size: 250 }
    name_pl:  { type: varchar, size: 250 }
    name_en:  { type: varchar, size: 250 }
    name_de:  { type: varchar, size: 250 }
    name_ru:  { type: varchar, size: 250 }
    name_es:  { type: varchar, size: 250 }
  static_pages:
    id:  { type: INTEGER, primaryKey: true, required: true, autoIncrement: true }
    name_pl: { type: VARCHAR, size: '128', required: false }
    name_en: { type: VARCHAR, size: '128', required: false }
    name_de: { type: VARCHAR, size: '128', required: false }
    name_ru: { type: VARCHAR, size: '128', required: false }
    description_pl: { type: LONGVARCHAR }
    description_en: { type: LONGVARCHAR }
    description_de: { type: LONGVARCHAR }
    description_ru: { type: LONGVARCHAR }
    name_es: { type: VARCHAR, size: '128', required: false }
    description_es: { type: LONGVARCHAR }
  language:
    id:  { type: INTEGER, primaryKey: true, required: true, autoIncrement: true }
    name:  { type: varchar, size: 250, required: true  }
    short: { type: varchar, size: 2, required: true }
    code:  { type: varchar, size: 5, required: true }
  news:
    id: ~
    title_pl: { type: VARCHAR, size: '255', required: false }
    title_en: { type: VARCHAR, size: '255', required: false }
    title_de: { type: VARCHAR, size: '255', required: false }
    title_ru: { type: VARCHAR, size: '255', required: false }
    description_pl: { type: LONGVARCHAR, required: false }
    description_en: { type: LONGVARCHAR, required: false }
    description_de: { type: LONGVARCHAR, required: false }
    description_ru: { type: LONGVARCHAR, required: false }
    active_pl: { type: BOOLEAN, required: false, default: 1 }
    active_en: { type: BOOLEAN, required: false, default: 1 }
    active_de: { type: BOOLEAN, required: false, default: 1 }
    active_ru: { type: BOOLEAN, required: false, default: 1 }
    more_url: { type: VARCHAR, required: false }
    start_date: { type: DATE, required: false }
    end_date: { type: DATE, required: false }
    created_at: ~
    files: { type: LONGVARCHAR, required: false } 
    title_es: { type: VARCHAR, size: '255', required: false }
    description_es: { type: LONGVARCHAR, required: false }
    active_es: { type: BOOLEAN, required: false, default: 1 }
    abstract_pl: { type: LONGVARCHAR, required: false }
    abstract_en: { type: LONGVARCHAR, required: false }
    abstract_de: { type: LONGVARCHAR, required: false }
    abstract_ru: { type: LONGVARCHAR, required: false }
    abstract_es: { type: LONGVARCHAR, required: false }
  news_photo:
    id: { type: INTEGER, size: '11', primaryKey: true, autoIncrement: true, required: true }
    news_id: { type: INTEGER, size: '11', required: true, foreignTable: news, foreignReference: id, onDelete: CASCADE, onUpdate: CASCADE }
    photo: { type: VARCHAR, size: '255', required: false }
    description_pl: { type: LONGVARCHAR, required: false }
    description_en: { type: LONGVARCHAR, required: false }
    description_de: { type: LONGVARCHAR, required: false }
    description_ru: { type: LONGVARCHAR, required: false }
    main_photo: { type: BOOLEAN, required: false, default: 0 }
    sort: { type: INTEGER, size: '11', required: false }
    description_es: { type: LONGVARCHAR, required: false }
  events:    
    id: { type: INTEGER, size: '11', primaryKey: true, autoIncrement: true, required: true }
    start_at: { type: TIMESTAMP }
    end_at: { type: TIMESTAMP }
    created_at: { type: TIMESTAMP }
    updated_at: { type: TIMESTAMP }
    title_pl: { type: VARCHAR, size: '255', required: false }
    content_pl: { type: LONGVARCHAR, required: false }
    location_pl: { type: VARCHAR, size: '100', required: false }
    stand_pl: { type: VARCHAR, size: '100', required: false }
    is_active_pl: { type: BOOLEAN, required: false, default: 1 }
    title_en: { type: VARCHAR, size: '255', required: false }
    content_en: { type: LONGVARCHAR, required: false }
    location_en: { type: VARCHAR, size: '100', required: false }
    stand_en: { type: VARCHAR, size: '100', required: false }
    is_active_en: { type: BOOLEAN, required: false, default: 1 }
    title_de: { type: VARCHAR, size: '255', required: false }
    content_de: { type: LONGVARCHAR, required: false }
    location_de: { type: VARCHAR, size: '100', required: false }
    stand_de: { type: VARCHAR, size: '100', required: false }
    is_active_de: { type: BOOLEAN, required: false, default: 1 }
    title_ru: { type: VARCHAR, size: '255', required: false }
    content_ru: { type: LONGVARCHAR, required: false }
    location_ru: { type: VARCHAR, size: '100', required: false }
    stand_ru: { type: VARCHAR, size: '100', required: false }
    is_active_ru: { type: BOOLEAN, required: false, default: 1 }
    title_es: { type: VARCHAR, size: '255', required: false }
    content_es: { type: LONGVARCHAR, required: false }
    location_es: { type: VARCHAR, size: '100', required: false }
    stand_es: { type: VARCHAR, size: '100', required: false }
    is_active_es: { type: BOOLEAN, required: false, default: 1 }
    image: {  type: VARCHAR, size: '150', required: false }
  icon:
    icon_id: { type: INTEGER, size: '11', primaryKey: true, autoIncrement: true, required: true }
    icon_name: { type: VARCHAR, size: '200', required: false }
  icon_product:
    ip_icon_id: { type: INTEGER, foreignTable: icon, foreignReference: icon_id, required: true, primaryKey: true, onDelete: cascade }
    ip_product_id: { type: INTEGER, foreignTable: product, foreignReference: id, primaryKey: true, required: true, onDelete: cascade }
  country:
    id: { type: INTEGER, size: '11', primaryKey: true, autoIncrement: true, required: true }
    name: { type: VARCHAR, size: '100', required: true }
  quote:
    id: { type: INTEGER, size: '11', primaryKey: true, autoIncrement: true, required: true }
    first_name: { type: VARCHAR, size: '100', required: false }
    last_name: { type: VARCHAR, size: '100', required: false }
    email: { type: VARCHAR, size: '150', required: false }
    phone: { type: VARCHAR, size: '50', required: false }
    company: { type: VARCHAR, size: '100', required: false }
    additional_info: { type: LONGVARCHAR, required: false }
    conutry_id: { type: INTEGER, size: '11', required: false, foreignTable: country, foreignReference: id, onDelete: RESTRICT, onUpdate: CASCADE }
    created_at: ~
  web_user:
    id: { type: INTEGER, size: '11', primaryKey: true, autoIncrement: true, required: true }
    first_name: { type: VARCHAR, size: '150', required: false }
    last_name: { type: VARCHAR, size: '150', required: false }
    additional_info: { type: LONGVARCHAR, required: false }
    email: { type: VARCHAR, size: '200', required: false }
    agreement:  { type: BOOLEAN, required: false, default: 0 }
    additional_info_more: { type: VARCHAR, size: '250', required: false }
    created_at: ~
    lang: { type: VARCHAR, size: '20', required: false }
  web_user_product:
    wup_web_user_id: { type: INTEGER, foreignTable: web_user, foreignReference: id, required: true, primaryKey: true, onDelete: cascade }
    wup_product_id: { type: INTEGER, foreignTable: product, foreignReference: id, primaryKey: true, required: true, onDelete: cascade }