Visualizando SQL queries antes de executar com o Laravel Migrate

Laravel possui um interessante mecanismo de migrations, que permite que desenvolvedores possam fazer o track das mudanças efectuadas na estrutura da base de dados e, se necessário, fazer rollback das mesmas. Mas algumas vezes é necessário verificar quais comandos serão executados pelo Laravel Migrate antes que as mesmas sejam executadas, principalmente quando executamos migrations em ambientes de produção, uma vez que alguns comandos podem ser destrutivos e comprometer a integridade dos dados. A boa notícia é que o Laravel já trás uma opção para fazer isso.

O comando migrate do Artisan possui uma opção –pretend, que quando usada, imprime no terminal os comandos SQL que serão executados, ao inves de executa-los directamente na base de dados.

Se, por exemplo, tivermos o seguinte ficheiro de Migration:

class AddRememberTokenToUsers extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('users', function($table) {
            $table->rememberToken();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('users', function($table) {
            $table->rememberToken();
        });
    }
}

E executarmos o comando php artisan migrate –pretend.

Teremos o seguinte resultado:

backstageel@backstageel-Inspiron-5537 /var/www/siga $ php artisan migrate --pretend
AddRememberTokenToUsers: alter table `users` add `remember_token` varchar(100) null

Prontos, agora já sabemos que comando SQL será usado ao executar php artisan migrate. Já é mais seguro executarmos este comando, mesmo em produção.

Receba nossas actualizações por email

Ver Campanhas anteriores.

(Visited 57 times, 1 visits today)
Share