Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Adicionar timestamps depois da table criada

Olá,

Como faça para adicionar o timestamps à tabela cursos, sem perder os dados já inseridos?

Eu executei o php artisan migrate, mas ele retornou

lfelipe@TimeMachine:~/Alura_PHP/Laravel/controle-series$ php artisan migrate
Nothing to migrate.

Procurei na lista de comados e encontrei o migrate:refresh

migrate
  migrate:fresh        Drop all tables and re-run all migrations
  migrate:install      Create the migration repository
  migrate:refresh      Reset and re-run all migrations
  migrate:reset        Rollback all database migrations
  migrate:rollback     Rollback the last database migration
  migrate:status       Show the status of each migration

Porém se executo o migrate:refresh, ele atualiza a entidade, mas eu perco os dados inseridos:

lfelipe@TimeMachine:~/Alura_PHP/Laravel/controle-series$ php artisan migrate:refresh
Rolling back: 2020_04_09_134113_criar_tabela_series
Rolled back:  2020_04_09_134113_criar_tabela_series (0.01 seconds)
Rolling back: 2014_10_12_100000_create_password_resets_table
Rolled back:  2014_10_12_100000_create_password_resets_table (0.01 seconds)
Rolling back: 2014_10_12_000000_create_users_table
Rolled back:  2014_10_12_000000_create_users_table (0.01 seconds)
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (0.01 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (0.01 seconds)
Migrating: 2020_04_09_134113_criar_tabela_series
Migrated:  2020_04_09_134113_criar_tabela_series (0.01 seconds)

Existe um comando específico para este caso?

Abraços,

3 respostas

Basta criar uma nova migration para atualizar a tabela, Luis.

;-)

Oi Vinicius,

Eu lembro que o doctrine tinha o comando migrations:diff que gerava a nova versão do migrations com essas novas "alterações".

Neste caso com o artsan, eu posso executar o make:migrate e "copio e coloco" o conteúdo da migrations anterior, adicionando os novos campos?

Abraços,

solução!

Isso aí, Luis.

Como o artisan é implementado de forma extremamente peculiar, não definindo os tributos de cada classe de modelo, não é possível gerar esse diff.

Nesse caso, pra criar uma migration pra editar a estrutura da tabela series, crie a migration com esse comando:

php artisan make:migration --table=series

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software