importBaseSchemafrom'@ioc:Adonis/Lucid/Schema'exportdefaultclassextendsBaseSchema{protectedtableName='cursos'publicasyncup(){this.schema.createTable(this.tableName,(table)=>{table.increments('id')table.string('nome',50).notNullable()table.integer('duracao')table.string('modalidade',1).notNullable()/** * Uses timestamptz for PostgreSQL and DATETIME2 for MSSQL */table.timestamp('created_at',{useTz: true})table.timestamp('updated_at',{useTz: true})})}publicasyncdown(){this.schema.dropTable(this.tableName)}}
node ace migration:rollback
ou
node ace migration:refresh
Voltar as Migration ao início
node ace migration:reset
Criar uma seeder
node ace make:seeder [Nome]
Código de uma seeder
importBaseSeederfrom'@ioc:Adonis/Lucid/Seeder'importFuncionariofrom'App/Models/Funcionario'exportdefaultclassextendsBaseSeeder{publicasyncrun(){awaitFuncionario.createMany([{concessionariaId:1,matricula: '12345',cpf:'001.002.003-04',salario: 2500,nome: 'Hugo',email: '[email protected]',idade: 20,telefone: 61991862235,endereco: 'QNO 7 Conjunto F',}])// Write your database queries inside the run method}}
Rodar uma seeder
node ace db:seed
Criando um Controller.
node ace make:controller [Nome]
Codigo de uma rota com Controller
// import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'importAlunofrom"App/Models/Aluno";exportdefaultclassAlunosController{index(){returnAluno.all();}store({ request }){constdados=request.only(["nome","cpf","matricula","email","telefone","cep","logradouro","complemento","numero","bairro",]);returnAluno.create(dados);}show({ request }){constid=request.param("id");returnAluno.findOrFail(id);}asyncdestroy({ request }){constid=request.param("id");constaluno=awaitAluno.findOrFail(id);returnaluno.delete();}asyncupdate({ request }){constid=request.param("id");constaluno=awaitAluno.findOrFail(id);constdados=request.only(["nome","cpf","matricula","email","telefone","cep","logradouro","complemento","numero","bairro",]);aluno.merge(dados).save();returnaluno;}}