<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;

class CreateProfilesTable extends Migration
{
    /*
     * Run the migrations.
     *
     * @return void
     */

    public function up()
    {

        /*
         * Table: profiles
         */
        Schema::create('profiles', function ($table) {
            $table->increments('id');
            $table->integer('reporting_to')->nullable();
            $table->string('name', 100)->nullable();
            $table->string('email', 100)->nullable();
            $table->string('password', 100)->nullable();
            $table->string('api_token', 60)->nullable();
            $table->string('remember_token', 255)->nullable();
            $table->enum('gender', ['','male','female'])->nullable();
            $table->date('dob')->nullable();
            $table->string('designation', 50)->nullable();
            $table->string('mobile', 100)->nullable();
            $table->string('phone', 100)->nullable();
            $table->string('address', 255)->nullable();
            $table->string('street', 100)->nullable();
            $table->string('city', 100)->nullable();
            $table->string('district', 100)->nullable();
            $table->string('state', 100)->nullable();
            $table->integer('country')->nullable();
            $table->string('photo', 500)->nullable();
            $table->string('ref', 255)->nullable();
            $table->enum('profile_for', ['Myself','Son','Daughter','Brother','Sister','Friend'])->nullable();
            $table->string('candidate_name', 255)->nullable();
            $table->enum('marital_status', ['Never Married','Widower','Divorced','Awaiting divorce'])->nullable();
            $table->string('age', 255)->nullable();
            $table->string('nationality', 255)->nullable();
            $table->integer('country_id')->nullable();
            $table->integer('state_id')->nullable();
            $table->integer('city_id')->nullable();
            $table->string('mothertongue', 255)->nullable();
            $table->string('languages_known', 255)->nullable();
            $table->string('religion', 255)->nullable();
            $table->string('caste', 255)->nullable();
            $table->string('subcaste', 255)->nullable();
            $table->enum('religious_value', ['Very Religious','Liberal'])->nullable();
            $table->string('height', 255)->nullable();
            $table->string('weight', 255)->nullable();
            $table->enum('body_type', ['Slim','Average','Athletic','Heavy'])->nullable();
            $table->enum('complexion', ['Very Fair','Fair','Wheatish','Wheatish Brown','Dark'])->nullable();
            $table->enum('physical_status', ['Normal','Physically Challenged'])->nullable();
            $table->string('education', 255)->nullable();
            $table->enum('employment_type', ['Private','Goverment','Business','Defence','Self Employed','Not working'])->nullable();
            $table->string('occupation', 255)->nullable();
            $table->string('income', 255)->nullable();
            $table->string('star', 255)->nullable();
            $table->string('raasi', 255)->nullable();
            $table->enum('dosham', ['Yes','No','Don''t Know',''])->nullable();
            $table->enum('food_habits', ['Vegetarian','Non Vegetarian','Eggetarian'])->nullable();
            $table->enum('smoking', ['No','Yes','Occasionally'])->nullable();
            $table->enum('drinking', ['No','Yes','Occasionally'])->nullable();
            $table->enum('family_status', ['Middle Class','Upper Middle Class','Rich','Affluent'])->nullable();
            $table->enum('family_type', ['Joint Family','Nuclear Family','Others'])->nullable();
            $table->enum('family_values', ['Orthodox','Traditional','Moderate','Liberal'])->nullable();
            $table->string('images', 255)->nullable();
            $table->string('horoscope', 255)->nullable();
            $table->string('description', 255)->nullable();
            $table->enum('profile_status', ['open','hidden','delete'])->nullable();
            $table->enum('email_alert', ['Daily','Weekly','Unsubscribe'])->nullable();
            $table->enum('phone_setting', ['Visible to all paid members','Visible to all paid members whom I contact'])->nullable();
            $table->enum('horoscope_setting', ['Visible to all paid members','Visible to all paid members whom I contact'])->nullable();
            $table->enum('photo_setting', ['Visible to all logged in members','Visible to members whom I contact or whom I accept/reply','Password protected'])->nullable();
            $table->integer('viwed_profiles')->nullable();
            $table->integer('profile_visitors')->nullable();
            $table->string('subscription', 255)->nullable();
            $table->date('activated_at')->nullable();
            $table->date('expires_at')->nullable();
            $table->enum('published', ['Yes','No'])->nullable();
            $table->enum('plan', ['Silver','Gold','Diamond'])->nullable();
            $table->string('web', 100)->nullable();
            $table->longText('permissions')->nullable();
            $table->enum('status', ['New','Active','Suspended','Locked'])->nullable();
            $table->integer('user_id')->nullable();
            $table->string('user_type', 50)->nullable();
            $table->string('upload_folder', 100)->nullable();
            $table->softDeletes();
            $table->nullableTimestamps();
        });
    }

    /*
    * Reverse the migrations.
    *
    * @return void
    */

    public function down()
    {
        Schema::drop('profiles');
    }
}