Eliminar tablas
Comprar curso

56. Eliminar tablas


2 comentarios

Inicia sesión para comentar

Comentarios:

  • Eduardo Martínez

    Eduardo Martínez hace 7 meses

    Al comienzo del vídeo se borra una migración llamada rename_posts_table que no realizamos en la unidad anterior, pero que no tiene misterio alguno.

    Se trata de renombrar nuestra tabla posts por el nombre articles, siguiendo estos pasos:

    1. Creamos una nueva migración con artisan make:migration rename_posts_table

    2. En el cuerpo de la función up() incluímos:

    Schema::rename('posts', 'articles');

    3. En el cuerpo de la función down() incluímos:

    Schema::rename('articles', 'posts');

    Son la misma función, pero invirtiendo los nombres.

     

    Y listo! Ejecutamos la migración con artisan migrate y habremos renombrado nuestra tabla.

  • Eduardo Martínez

    Eduardo Martínez hace 7 meses

    Hola!

    En esta unidad  comenzamos borrando unas migraciones porque no serán necesarias, y luego hacemos un migrate:fresh para comenzar con nuestra base de datos desde cero.

    Me gustaría exponer una situación que podría sucedernos en el futuro.

    Imaginemos el caso en el que no podemos perder los datos almacenados en la base de datos. Al haber borrado las migraciones, el comando rollback quedará atascado a partir de la migración más reciente que no pueda localizar. ¿Cómo podríamos resolver esto?

    Es importante que, antes de eliminar un fichero de migración, hayamos revertido sus cambios. De no hacerlo estamos generando un conflicto con los registros de migraciones de nuestra base de datos

    Si eliminaste los ficheros antes de revertir pero los tienes en la papelera de reciclaje sólo necesitarás restaurarlos.

    De lo contrario, si no puedes recuperarlos o incluso no recuerdas que migraciones borraste te propongo una solución alternativa:

    1. Consulta la tabla migrations de tu base de datos. Así sabrás qué migraciones borraste. Si sigues la convención, el propio nombre del registro te dirá que hacían.
       
    2. Redefine dichas migraciones. Lo más importante a tener en cuenta es que el nombre del fichero debe coincidir con el almacenado en el registro de la tabla migrations.

    Así podrías resolver el conflicto. De hecho, si sabes que no necesitarás incluir esa migración en el futuro, podrías definir sólo la función down(), ya que es la única que se ejecutará cuando llames al comando migrate:rollback

    Espero que esta info sirva de ayuda.

    Un saludo! 👋