Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Curso de Laravel para Noobs - #9 Migrations

20/12/2022

No tutorial de hoje aprenderemos o que são as migrations no Laravel, suas funcionalidades e sua importância no versionamento do banco de dados.

Migrando tabelas do banco

Para trabalhar com banco de dados MySql precisamos de um servidor de banco de dados, para tanto você precisará a instalar o Xampp

Para acessar o gerenciador de banco de dados PhpMyAdmin basta ativar o Xampp e acessar a url http://localhost/phpmyadmin

Caso apareça o login, será usuário root sem senha.

.env

No nosso exemplo criamos o banco de dados com nome "sistema". Logo, temos que configurar o Laravel para que ele entenda que o banco a ser usado é o sistema. Diante disso, no arquivo .env vamos definir os dados do banco:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=sistema
DB_USERNAME=root
DB_PASSWORD=

config/database.php

É importante também definir o engine do banco como InnoDB para que habilite o sistema de relacionamento entre tabelas. Para isso, vamos definir o engine no arquivo config/database.php

'engine' => 'InnoDB',

Apesar do Laravel possuir um comando próprio para criação da migration, eu sempre prefiro criar o model e o controller associado. Para isso, eu costumo utilizar o seguinte comando:

php artisan make:model Qualquernome -mcr

Para criar as tabelas no banco através das migrations nós utilizamos o seguinte comando:

php artisan migrate

Caso você queira reverter a migração, você pode utilizar o seguinte comando:

php artisan migrate:rollback

E caso você queira atualizar uma tabela você tem o comando:

php artisan migrate:refresh

database/migrations/2022_12_20_121628_create_todos_table.php

A estrutura da nossa migration ficou assim:

public function up()
{
    Schema::create('todos', function (Blueprint $table) {
        $table->id();
        $table->string('nome');
        $table->unsignedBigInteger('user_id');
        $table->foreign('user_id')->references('id')->on('users');
        $table->timestamps();
    });
    Schema::table('todos', function (Blueprint $table) {
       $table->integer('votos')->after('nome')->nullable();
    });
}

public function down()
{
    Schema::dropIfExists('todos');
}

Por hoje é só! Sucesso nos códigos e na vida!

Precisa de um suporte? webdesignemfoco@gmail.com

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Curso de Laravel para Noobs - #8 Controllers
Nesta aula aprenderemos sobre as funcionalidades do Controller dentro do Laravel, como criá-lo, e como setar rotas que acionem esses controladores.
Saiba mais!
Curso de Laravel para Noobs - #10 Models I [Propriedades]
Nesse tutorial vamos aprender um pouco mais sobre a manipulação do banco de dados através dos Models do Laravel.
Saiba mais!
Framework
Nessa playlist aprenderemos um pouco mais sobre os diferentes frameworks existentes, apontando os defeitos e qualidades de cada um.
Saiba mais!