Antes de crear las migraciones para nuestro blog, vamos a borrar las que ya hay creadas porque no las necesitamos, vamos al directorio Database\Migrations y borramos los dos archivos que hay, create_users_table y create_password_reset_table.

Una vez limpias nuestras migraciones, vamos a crear con artisan las dos migraciones para nuestra aplicacion:

php artisan make:migration create_posts_table

php artisan make:migration create_comments_table

Una vez creadas las migraciones, editaremos la create_posts_table y crearemos el esquema de nuestra tabla, un Post tendrá los siguientes campos:

  • Título
  • Descripción corta
  • Descripción larga
  • Fecha de publicación
  • Estado (Publicado / No publicado)

Por supuesto un identificador auto-incremental. Para ello editaremos el método up y crearemos la estructura siguiente:

CreatePostsTable

class CreatePostsTable extends Migration
{
   /**
    * Run the migrations.
    *
    * @return void
    */
   public function up()
   {
       Schema::create('posts', function (Blueprint $table) {
           $table->increments('id');
           $table->string('title');
           $table->text('resume', 300);
           $table->text('description');
           $table->string('publish_date');
           $table->tinyInteger('status'); // 0 No publicado / 1 Publicado
           $table->timestamps();
       });
   }

   /**
    * Reverse the migrations.
    *
    * @return void
    */
   public function down()
   {
       Schema::drop('posts');
   }
}

 

Tenemos creada la migración para los posts, vamos a crear ahora para los comentarios:

 

CreateCommentsTable

class CreateCommentsTable extends Migration
{
   /**
    * Run the migrations.
    *
    * @return void
    */
   public function up()
   {
       Schema::create('comments', function (Blueprint $table) {
           $table->increments('id');
           $table->integer('post_id'); // A que post pertenece el comentario
           $table->string('username'); // Nombre del usuario del comentario
           $table->text('text');
           $table->timestamps();
       });
   }

   /**
    * Reverse the migrations.
    *
    * @return void
    */
   public function down()
   {
       Schema::drop('comments');
   }
}

Una vez creadas las migraciones tenemos que ejecutarlas, para ello des de el terminal ejecutamos el comando siguiente:

php artisan migrate

Si nos vamos a la base de datos veremos que nos ha creado la estructura de tablas correctamente.