{"id":3252,"date":"2022-03-23T07:54:52","date_gmt":"2022-03-23T07:54:52","guid":{"rendered":"http:\/\/amjprogramacion.com\/blog\/?p=3252"},"modified":"2022-03-24T02:15:42","modified_gmt":"2022-03-24T02:15:42","slug":"crear-una-api-rest-con-laravel-parte-2-la-configuracion","status":"publish","type":"post","link":"https:\/\/amjprogramacion.com\/blog\/crear-una-api-rest-con-laravel-parte-2-la-configuracion\/","title":{"rendered":"Crear una API Rest con Laravel. Parte 2, la configuraci\u00f3n"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"3252\" class=\"elementor elementor-3252\" data-elementor-settings=\"[]\">\n\t\t\t\t\t\t\t<div class=\"elementor-section-wrap\">\n\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5a71de8b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5a71de8b\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5e9c910b\" data-id=\"5e9c910b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-57292e38 rivax-align-left elementor-widget rivax-divider-heading-widget\" data-id=\"57292e38\" data-element_type=\"widget\" data-widget_type=\"rivax-divider-heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"rivax-divider-heading-wrap\">\r\n    <div class=\"rivax-divider-heading divider-style-1\">\r\n        <div class=\"divider divider-1\"><\/div>\r\n        <div class=\"divider divider-2\"><\/div>\r\n        <h2 class=\"title\">\r\n                Stack tecnol\u00f3gico                <\/h2>\r\n        <div class=\"divider divider-3\"><\/div>\r\n        <div class=\"divider divider-4\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-f5e440e elementor-hidden-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f5e440e\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-20 elementor-inner-column elementor-element elementor-element-9516061\" data-id=\"9516061\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-322e043c elementor-view-default elementor-position-top elementor-vertical-align-top elementor-widget elementor-widget-icon-box\" data-id=\"322e043c\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.5.6 - 28-02-2022 *\/\n@media (min-width:768px){.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-img{margin:auto}.elementor-widget-icon-box.elementor-vertical-align-top .elementor-icon-box-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-widget-icon-box.elementor-vertical-align-bottom .elementor-icon-box-wrapper{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}@media (max-width:767px){.elementor-widget-icon-box .elementor-icon-box-icon{margin-left:auto!important;margin-right:auto!important;margin-bottom:15px}}.elementor-widget-icon-box .elementor-icon-box-wrapper{text-align:center}.elementor-widget-icon-box .elementor-icon-box-title a{color:inherit}.elementor-widget-icon-box .elementor-icon-box-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-widget-icon-box .elementor-icon-box-description{margin:0}<\/style>\t\t<div class=\"elementor-icon-box-wrapper\">\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span class=\"elementor-icon elementor-animation-\" >\n\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-php\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t<span  >\n\t\t\t\t\t\tPHP 7.4.2\t\t\t\t\t<\/span>\n\t\t\t\t<\/h3>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-20 elementor-inner-column elementor-element elementor-element-39662f2c\" data-id=\"39662f2c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7c847df elementor-view-default elementor-position-top elementor-vertical-align-top elementor-widget elementor-widget-icon-box\" data-id=\"7c847df\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span class=\"elementor-icon elementor-animation-\" >\n\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-laravel\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t<span  >\n\t\t\t\t\t\tLARAVEL\t\t\t\t\t<\/span>\n\t\t\t\t<\/h3>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-20 elementor-inner-column elementor-element elementor-element-26e0f0de\" data-id=\"26e0f0de\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-20 elementor-inner-column elementor-element elementor-element-6f2d720c\" data-id=\"6f2d720c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-20 elementor-inner-column elementor-element elementor-element-3b120c10\" data-id=\"3b120c10\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-7c66c081 elementor-hidden-desktop elementor-hidden-tablet elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7c66c081\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-317646a5\" data-id=\"317646a5\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6541f21e elementor-mobile-align-left elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"6541f21e\" data-element_type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.5.6 - 28-02-2022 *\/\n.elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container{overflow:hidden}.elementor-widget .elementor-icon-list-items.elementor-inline-items{margin-right:-8px;margin-left:-8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:8px;margin-left:8px}.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{width:auto;left:auto;right:auto;position:relative;height:100%;border-top:0;border-bottom:0;border-right:0;border-left-width:1px;border-style:solid;right:-8px}.elementor-widget .elementor-icon-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget .elementor-icon-list-item{margin:0;padding:0;position:relative}.elementor-widget .elementor-icon-list-item:after{position:absolute;bottom:0;width:100%}.elementor-widget .elementor-icon-list-item,.elementor-widget .elementor-icon-list-item a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:inherit}.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{-ms-flex-item-align:center;align-self:center;padding-left:5px}.elementor-widget .elementor-icon-list-icon{display:-webkit-box;display:-ms-flexbox;display:flex}.elementor-widget .elementor-icon-list-icon svg{width:var(--e-icon-list-icon-size,1em);height:var(--e-icon-list-icon-size,1em)}.elementor-widget .elementor-icon-list-icon i{width:1.25em;font-size:var(--e-icon-list-icon-size)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon{text-align:var(--e-icon-list-icon-align)}.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg{margin:var(--e-icon-list-icon-margin,0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0)}.elementor-widget.elementor-list-item-link-full_width a{width:100%}.elementor-widget.elementor-align-center .elementor-icon-list-item,.elementor-widget.elementor-align-center .elementor-icon-list-item a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-align-center .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-align-left .elementor-icon-list-item,.elementor-widget.elementor-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-align-left .elementor-inline-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-align-right .elementor-icon-list-item,.elementor-widget.elementor-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget.elementor-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after{right:0}@media (max-width:1024px){.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a,.elementor-widget.elementor-tablet-align-center .elementor-icon-list-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-tablet-align-left .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after{right:0}}@media (max-width:767px){.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a,.elementor-widget.elementor-mobile-align-center .elementor-icon-list-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after{margin:auto}.elementor-widget.elementor-mobile-align-left .elementor-icon-list-items{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-items{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after{left:0}.elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after{right:0}}<\/style>\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-php\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">PHP 7.4.2<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-laravel\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">LARAVEL<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5bb5f627 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5bb5f627\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5153cafb\" data-id=\"5153cafb\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5f29c520 rivax-align-center elementor-widget rivax-divider-heading-widget\" data-id=\"5f29c520\" data-element_type=\"widget\" data-widget_type=\"rivax-divider-heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"rivax-divider-heading-wrap\">\r\n    <div class=\"rivax-divider-heading divider-style-2\">\r\n        <div class=\"divider divider-1\"><\/div>\r\n        <div class=\"divider divider-2\"><\/div>\r\n        <h2 class=\"title\">\r\n                Explicaci\u00f3n                <\/h2>\r\n        <div class=\"divider divider-3\"><\/div>\r\n        <div class=\"divider divider-4\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-115701a4 elementor-widget elementor-widget-text-editor\" data-id=\"115701a4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.5.6 - 28-02-2022 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#818a91;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#818a91;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<p>Siguiendo el orden natural y una vez conocidos los fundamentos de Laravel en <a title=\"Crear una API Rest con Laravel. Parte 1, la instalaci\u00f3n\" href=\"https:\/\/amjprogramacion.com\/blog\/backend\/crear-una-api-rest-con-laravel\/\" target=\"_blank\" rel=\"noopener\">esta entrada<\/a>, es momento de ponerse manos a la obra.<\/p><p>En esta entrada, configuraremos la conexi\u00f3n a la base de datos y crearemos y ejecutaremos las primeras migraciones y seeds.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-19473cee rivax-align-left elementor-widget rivax-divider-heading-widget\" data-id=\"19473cee\" data-element_type=\"widget\" data-widget_type=\"rivax-divider-heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"rivax-divider-heading-wrap\">\r\n    <div class=\"rivax-divider-heading divider-style-1\">\r\n        <div class=\"divider divider-1\"><\/div>\r\n        <div class=\"divider divider-2\"><\/div>\r\n        <h2 class=\"title\">\r\n                Conectando a la base de datos                <\/h2>\r\n        <div class=\"divider divider-3\"><\/div>\r\n        <div class=\"divider divider-4\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5854b2dd elementor-widget elementor-widget-text-editor\" data-id=\"5854b2dd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>En Laravel, los par\u00e1metros de conexi\u00f3n a la base de datos, se tienen que indicar en el archivo <span class=\"post-marked-text\">config\/database.php<\/span> y solo habr\u00e1 que modificar los par\u00e1metros &#8220;url, host, port, database, username y password&#8221;.<\/p><p>Lo m\u00e1s probable, es que al acceder al archivo y localizar dichos par\u00e1metros, veas algo parecido a esto <span class=\"post-marked-text\">&#8216;url&#8217; =&gt; env(&#8216;DATABASE_URL&#8217;)<\/span>, aqu\u00ed se hace uso de la funci\u00f3n &#8220;env()&#8221; para acceder a los valores que haya definidos en los archivos .env, localizados en la ra\u00edz de la aplicaci\u00f3n Laravel.<\/p><p>Por lo tanto, para configurar la conexi\u00f3n a la base de datos, abriremos el archivo .env y modificaremos los valores que haya en el siguiente bloque:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-10ff04c elementor-widget elementor-widget-text-editor\" data-id=\"10ff04c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\tDB_CONNECTION=mysql<br\/>\nDB_HOST=127.0.0.1<br\/>\nDB_PORT=3306<br\/>\nDB_DATABASE=****<br\/>\nDB_USERNAME=****<br\/>\nDB_PASSWORD=****\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4e3b175 rivax-align-left elementor-widget rivax-divider-heading-widget\" data-id=\"4e3b175\" data-element_type=\"widget\" data-widget_type=\"rivax-divider-heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"rivax-divider-heading-wrap\">\r\n    <div class=\"rivax-divider-heading divider-style-1\">\r\n        <div class=\"divider divider-1\"><\/div>\r\n        <div class=\"divider divider-2\"><\/div>\r\n        <h2 class=\"title\">\r\n                Creando las migraciones                <\/h2>\r\n        <div class=\"divider divider-3\"><\/div>\r\n        <div class=\"divider divider-4\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-385ccec elementor-widget elementor-widget-text-editor\" data-id=\"385ccec\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Las migraciones son de lo m\u00e1s c\u00f3modo en lo que a la gesti\u00f3n de la base de datos se refiere, ya que nos otorgan la posibilidad de crear, modificar y eliminar tablas y campos sin la necesidad de interactuar directamente con nuestra base de datos.<\/p><p>Lo m\u00e1s probable si has creado una aplicaci\u00f3n Laravel nueva, es que se te hayan creado varias migraciones por defecto, para instalarlas, simplemente abre el terminal y ejecuta el siguiente comando:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5efd4f5 elementor-widget elementor-widget-text-editor\" data-id=\"5efd4f5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\tphp artisan migrate\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a33c6e elementor-widget elementor-widget-image\" data-id=\"4a33c6e\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.5.6 - 28-02-2022 *\/\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"603\" height=\"177\" src=\"https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-9.54.02.png\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-9.54.02.png 603w, https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-9.54.02-300x88.png 300w, https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-9.54.02-400x117.png 400w\" sizes=\"auto, (max-width: 603px) 100vw, 603px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8ba414 elementor-widget elementor-widget-text-editor\" data-id=\"a8ba414\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Hecho esto tendremos las primeras tablas en nuestra base de datos. Ahora bien, vamos a imaginar que queremos desarrollar una API para gestionar la informaci\u00f3n de los trabajadores de una empresa. Para ello, a\u00f1adiremos a la base de datos la tabla &#8220;workers&#8221;, creando una migraci\u00f3n con el comando:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c134875 elementor-widget elementor-widget-text-editor\" data-id=\"c134875\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\tphp artisan make:migration create_workers_table\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1e7636 elementor-widget elementor-widget-image\" data-id=\"c1e7636\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"721\" height=\"75\" src=\"https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.07.24.png\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.07.24.png 721w, https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.07.24-300x31.png 300w, https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.07.24-400x42.png 400w, https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.07.24-700x73.png 700w\" sizes=\"auto, (max-width: 721px) 100vw, 721px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cabdd1d elementor-widget elementor-widget-text-editor\" data-id=\"cabdd1d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Este comando nos habr\u00e1 generado un archivo en <span class=\"post-marked-text\">database\/migrations\/<\/span> con el mismo nombre que la migraci\u00f3n, antes de ejecutar la migraci\u00f3n, vamos a modificarlo para a\u00f1adir un campo m\u00e1s a la tabla, para ello, abrimos dicho archivo con nuestro editor favorito y a\u00f1adimos la siguiente l\u00ednea dentro de la funci\u00f3n &#8220;up()&#8221;:<\/p>\n<p><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e94eed elementor-widget elementor-widget-text-editor\" data-id=\"5e94eed\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t$table-&gt;string(&#8216;name&#8217;);\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-184ee2f elementor-widget elementor-widget-image\" data-id=\"184ee2f\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"508\" height=\"588\" src=\"https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.16.38.png\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.16.38.png 508w, https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.16.38-259x300.png 259w, https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.16.38-400x463.png 400w\" sizes=\"auto, (max-width: 508px) 100vw, 508px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9c97333 elementor-widget elementor-widget-text-editor\" data-id=\"9c97333\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>As\u00ed es como deber\u00eda de quedar tu archivo, lo siguiente es ejecutar esta y otras migraciones pendientes como el comando:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cf2d521 elementor-widget elementor-widget-text-editor\" data-id=\"cf2d521\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\tphp artisan migrate\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e91a9b8 elementor-widget elementor-widget-image\" data-id=\"e91a9b8\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"486\" height=\"63\" src=\"https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.22.19.png\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.22.19.png 486w, https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.22.19-300x39.png 300w, https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.22.19-400x52.png 400w\" sizes=\"auto, (max-width: 486px) 100vw, 486px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7e2c2f4 rivax-align-left elementor-widget rivax-divider-heading-widget\" data-id=\"7e2c2f4\" data-element_type=\"widget\" data-widget_type=\"rivax-divider-heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"rivax-divider-heading-wrap\">\r\n    <div class=\"rivax-divider-heading divider-style-1\">\r\n        <div class=\"divider divider-1\"><\/div>\r\n        <div class=\"divider divider-2\"><\/div>\r\n        <h2 class=\"title\">\r\n                Creando los seeders                <\/h2>\r\n        <div class=\"divider divider-3\"><\/div>\r\n        <div class=\"divider divider-4\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-99f14bb elementor-widget elementor-widget-text-editor\" data-id=\"99f14bb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Los seeders tienen un funcionamiento muy similar al de las migraciones, con la diferencia de que en lugar de usarse para la gesti\u00f3n de la estructura de la base de datos, se usan para la gesti\u00f3n de datos. Suelen utilizarse para nutrir grandes bases de datos en las puestas en marcha o para introducir datos de prueba por ejemplo.<\/p><p>Para crear un seed con el que insertar una fila, en la tabla que hemos creado anteriormente, usaremos el comando:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-56bf5a7 elementor-widget elementor-widget-text-editor\" data-id=\"56bf5a7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\tphp artisan make:seeder WorkerSeeder\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-104928a elementor-widget elementor-widget-text-editor\" data-id=\"104928a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Con el seed generado por consola, abriremos en el editor de c\u00f3digo el archivo localizado en <span class=\"post-marked-text\">database\/seeders\/<\/span> con el mismo nombre usado en el comando anterior, veremos que la estructura es muy similar a la de las migraciones.<\/p><p>Para a\u00f1adir una fila a la tabla al ejecutar la seed, escribiremos el siguiente c\u00f3digo en la funci\u00f3n &#8220;up()&#8221;:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8ccbd44 elementor-widget elementor-widget-text-editor\" data-id=\"8ccbd44\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div><div>DB::table(&#8216;workers&#8217;)-&gt;insert([<\/div><div style=\"padding-left: 40px;\">&#8216;name&#8217; =&gt; &#8216;Alex&#8217;,<\/div><div>]);<\/div><\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-46e81f2 elementor-widget elementor-widget-image\" data-id=\"46e81f2\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"299\" height=\"390\" src=\"https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.55.37.png\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.55.37.png 299w, https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.55.37-230x300.png 230w\" sizes=\"auto, (max-width: 299px) 100vw, 299px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-12ef4ee elementor-widget elementor-widget-text-editor\" data-id=\"12ef4ee\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Una vez tengas as\u00ed el archivo, est\u00e1s listo para ejecutar los comandos que ejecutar\u00e1n las seeds, para esto tienes dos opciones:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-80d5a7a elementor-widget elementor-widget-text-editor\" data-id=\"80d5a7a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<span class=\"post-comment-text\">\/\/ Ejecutar todas las seeds pendientes<\/span><br\/>\nphp artisan db:seed<br\/><br\/>\n\n<span class=\"post-comment-text\">\/\/ Ejecutar solo la seed por su clase<\/span><br\/>\nphp artisan db:seed &#8211;class=WorkerSeeder\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6029132 elementor-widget elementor-widget-image\" data-id=\"6029132\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"666\" height=\"59\" src=\"https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.56.09.png\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.56.09.png 666w, https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.56.09-300x27.png 300w, https:\/\/amjprogramacion.com\/blog\/wp-content\/uploads\/2022\/03\/Captura-de-pantalla-2022-03-23-a-las-10.56.09-400x35.png 400w\" sizes=\"auto, (max-width: 666px) 100vw, 666px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b31312e elementor-widget elementor-widget-text-editor\" data-id=\"b31312e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Si has llegado hasta aqu\u00ed, has conseguido conectarte a tu base de datos y gestionar tanto su estructura como sus datos, en el siguiente post veremos como crear el modelo y el controlador para gestionar la entidad que acabamos de crear.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Stack tecnol\u00f3gico PHP 7.4.2 LARAVEL PHP 7.4.2 LARAVEL Explicaci\u00f3n Siguiendo el orden natural y una vez conocidos los fundamentos de Laravel en esta entrada, es momento de ponerse manos a la obra. En esta entrada, configuraremos la conexi\u00f3n a la base de datos y crearemos y ejecutaremos las primeras migraciones y seeds. Conectando a la [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3021,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48,52,51],"tags":[],"class_list":["post-3252","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-backend","category-laravel","category-php"],"_links":{"self":[{"href":"https:\/\/amjprogramacion.com\/blog\/wp-json\/wp\/v2\/posts\/3252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/amjprogramacion.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/amjprogramacion.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/amjprogramacion.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/amjprogramacion.com\/blog\/wp-json\/wp\/v2\/comments?post=3252"}],"version-history":[{"count":41,"href":"https:\/\/amjprogramacion.com\/blog\/wp-json\/wp\/v2\/posts\/3252\/revisions"}],"predecessor-version":[{"id":3322,"href":"https:\/\/amjprogramacion.com\/blog\/wp-json\/wp\/v2\/posts\/3252\/revisions\/3322"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/amjprogramacion.com\/blog\/wp-json\/wp\/v2\/media\/3021"}],"wp:attachment":[{"href":"https:\/\/amjprogramacion.com\/blog\/wp-json\/wp\/v2\/media?parent=3252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/amjprogramacion.com\/blog\/wp-json\/wp\/v2\/categories?post=3252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/amjprogramacion.com\/blog\/wp-json\/wp\/v2\/tags?post=3252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}