Definir «constraints» en nuestras tablas es la manera adecuada de trabajar nuestra base de datos, porque nos obliga a evitar inconsistencias, por ejemplo dejar registros «huérfanos»: una talla de un producto que ya no existe en la base de datos, un libro sin autor, etc. etc.
$table->integer('user_id')->unsigned(); $table->foreign('user_id')->references('id')->on('users');
Sin embargo, por un lado definimos las asociaciones entre una tabla y otra, por otro lado comienzan a aparecer errores de CONSTRAINTS que muchas veces desesperan al programar y lo llevan a eliminar las llaves foráneas, lo cuál hace que las consultas se ejecuten más lentamente y la base de datos pueda quedar en estados inconsistentes como ya mencioné.
Pero después de ver esta lección, podrás definir tus tablas de la manera adecuada (con sus indices de llaves foráneas) y sabrás porqué se producen y cómo evitar estos errores de constraints.
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.
Lección anterior Uso de seeders con faker para cargar decenas de registros Lección siguiente Seeders con programación orientada a objetos (Herencia)