exports.up = function (knex) { return knex.schema .createTable("atendimento_clientes", (t) => { t.integer("Id").unsigned().primary(); // Id do cliente no chatbot (ifbot) t.string("Nome", 255).notNullable(); t.string("Foto", 500).nullable(); t.string("Wid", 30).nullable(); t.string("Ultima2", 255).nullable(); t.string("Ultimacliente2", 255).nullable(); t.boolean("Deadmensage2").nullable(); t.timestamp("CreatedAt").notNullable().defaultTo(knex.fn.now()); t.timestamp("UpdatedAt").notNullable().defaultTo(knex.fn.now()); t.index(["Wid"]); }) .createTable("atendimentos", (t) => { t.integer("Id").unsigned().primary(); // Id do protocolo no chatbot (ifbot) t.string("Codigo", 50).notNullable(); t.integer("Status").notNullable(); t.integer("ClienteId").unsigned().notNullable(); t.string("Setor", 100).nullable(); t.string("SourceUrl", 500).nullable(); t.timestamp("IngestedAt").notNullable().defaultTo(knex.fn.now()); t.timestamp("CreatedAt").notNullable().defaultTo(knex.fn.now()); t.timestamp("UpdatedAt").notNullable().defaultTo(knex.fn.now()); t.foreign("ClienteId").references("atendimento_clientes.Id").onDelete("CASCADE"); t.unique(["Codigo"]); t.index(["ClienteId"]); t.index(["Setor"]); t.index(["Status"]); }) .createTable("atendimento_mensagens", (t) => { t.bigInteger("Id").unsigned().primary(); // Id da mensagem no chatbot (ifbot) t.integer("AtendimentoId").unsigned().notNullable(); t.text("Body").nullable(); t.integer("Resposta").nullable(); t.datetime("Timestamp").nullable(); t.string("Tipodemidia", 30).nullable(); t.string("Midia", 500).nullable(); t.string("Autor", 255).nullable(); t.text("Citacao").nullable(); t.foreign("AtendimentoId").references("atendimentos.Id").onDelete("CASCADE"); t.index(["AtendimentoId"]); t.index(["Timestamp"]); }); }; exports.down = function (knex) { return knex.schema .dropTable("atendimento_mensagens") .dropTable("atendimentos") .dropTable("atendimento_clientes"); };