crear migraciones para postslar11
crear migraciones para postslar11
1. Crear Migraciones
Para crear migraciones en Laravel, usa el comando php artisan make:migration seguido del nombre de la migración. Por ejemplo:
php artisan make:migration create_categories_table php artisan make:migration create_etiquetas_table php artisan make:migration create_posts_table php artisan make:migration create_post_etiquetas_table php artisan make:migration create_users_table
Cada uno de estos comandos generará un archivo de migración en el directorio database/migrations. Luego, debes editar estos archivos para definir la estructura de las tablas.
2. Definir Migraciones
Aquí está el contenido que debes colocar en cada archivo de migración:
create_categories_table.php
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateCategoriesTable extends Migration { public function up() { Schema::create('categories', function (Blueprint $table) { $table->id(); // Autoincremental primary key $table->string('name'); $table->text('svg'); $table->timestamps(); // Automatically creates created_at and updated_at columns }); } public function down() { Schema::dropIfExists('categories'); } }
create_etiquetas_table.php
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateEtiquetasTable extends Migration { public function up() { Schema::create('etiquetas', function (Blueprint $table) { $table->id(); // Autoincremental primary key $table->string('name'); $table->text('svg'); $table->timestamps(); // Automatically creates created_at and updated_at columns }); } public function down() { Schema::dropIfExists('etiquetas'); } }
create_posts_table.php
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreatePostsTable extends Migration { public function up() { Schema::create('posts', function (Blueprint $table) { $table->id(); // Autoincremental primary key $table->string('title'); $table->foreignId('category_id')->nullable()->constrained('categories')->onDelete('set null'); $table->string('excerpt', 500)->nullable(); $table->text('content')->nullable(); $table->string('img')->default('default_image.png'); $table->string('url')->nullable(); $table->string('ins')->nullable(); $table->string('face')->nullable(); $table->string('youtube')->nullable(); $table->timestamps(); // Automatically creates created_at and updated_at columns }); } public function down() { Schema::dropIfExists('posts'); } }
create_post_etiquetas_table.php
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreatePostEtiquetasTable extends Migration { public function up() { Schema::create('post_etiquetas', function (Blueprint $table) { $table->id(); // Autoincremental primary key $table->foreignId('post_id')->constrained('posts')->onDelete('cascade'); $table->foreignId('etiqueta_id')->constrained('etiquetas')->onDelete('cascade'); $table->timestamps(); // Automatically creates created_at and updated_at columns }); } public function down() { Schema::dropIfExists('post_etiquetas'); } }
create_users_table.php
El archivo de migración para la tabla users es generalmente generado por Laravel cuando se crea una nueva aplicación y se ejecuta php artisan migrate. Aquí está cómo debería verse si necesitas ajustar algo:
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateUsersTable extends Migration { public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); // Autoincremental primary key $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->text('two_factor_secret')->nullable(); $table->text('two_factor_recovery_codes')->nullable(); $table->string('remember_token')->nullable(); $table->foreignId('current_team_id')->nullable(); $table->string('profile_photo_path', 2048)->nullable(); $table->timestamps(); // Automatically creates created_at and updated_at columns }); } public function down() { Schema::dropIfExists('users'); } }
3. Ejecutar las Migraciones
Una vez que hayas definido todas las migraciones, ejecuta el siguiente comando para aplicar las migraciones y crear las tablas en tu base de datos:
php artisan migrate
Resumen
- Schema::create: Se usa para crear una nueva tabla.
- $table->id(): Crea una columna de clave primaria auto-incremental.
- $table->foreignId(): Crea una columna para claves externas.
- $table->timestamps(): Crea columnas created_at y updated_at.
- $table->constrained('table_name'): Crea una clave foránea que hace referencia a una tabla específica.
Estas migraciones permiten a Laravel gestionar las tablas de tu base de datos de manera estructurada y automática.
- Categoria: web_development
- YouTube: https://www.youtube.com/watch?v=baQNTofu7CI
- Etiquetes: laravel
- Data de creació: 27/08/2024
- Última actualització: 27/08/2024