feat: add chat migrations

This commit is contained in:
amazuecos
2024-09-17 23:11:35 +02:00
parent cf3cebfcfb
commit 51dc0ca676
4 changed files with 149 additions and 0 deletions

View File

@ -0,0 +1,44 @@
<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class ChatsTable extends Migration
{
protected array $COLUMNS = [
"id" => [
"type" => "INT",
"unsigned" => true,
"autoincrement" => true
],
"department" => [
"type" => "VARCHAR",
"constraint" => '255',
],
"pedido_id" => [
"type" => "INT",
"constraint" => 16,
"unsigned" => true,
]
];
public function up()
{
$this->forge->dropTable("chat_conversaciones",true);
$this->forge->dropTable("chat_mensajes",true);
$this->forge->dropTable("chat_participantes",true);
$this->forge->addField($this->COLUMNS);
$this->forge->addPrimaryKey('id');
$this->forge->addForeignKey('pedido_id', 'pedidos', 'id');
$this->forge->createTable("chats");
}
public function down()
{
//
$this->forge->dropTable("chats");
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class ChatDepartments extends Migration
{
protected array $COLUMNS = [
"id" => [
"type" => "INT",
"unsigned" => true,
"autoincrement" => true
],
"name" => [
"type" => "VARCHAR",
"constraint" => '45',
"unique" => true,
],
];
public function up()
{
$this->forge->addField($this->COLUMNS);
$this->forge->createTable("chat_departments");
$this->forge->addPrimaryKey('id');
}
public function down()
{
//
$this->forge->dropTable("chat_departments");
}
}

View File

@ -0,0 +1,39 @@
<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class ChatMessages extends Migration
{
protected array $COLUMNS = [
"id" => [
"type" => "INT",
"autoincrement" => true,
],
"chat_id" => [
"type" => "INT",
"unsigned" => true
],
"user_id" => [
"type" => "INT",
"unsigned" => true,
],
];
public function up()
{
$this->forge->addField($this->COLUMNS);
$this->forge->addForeignKey(['user_id'], 'users', ['id']);
$this->forge->addForeignKey(['chat_id'], 'chats', ['id']);
$this->forge->createTable("chat_messages");
}
public function down()
{
$this->forge->dropTable("chat_messages",true);
}
}

View File

@ -0,0 +1,32 @@
<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class ChatDepartmentUsers extends Migration
{
protected array $COLUMNS = [
"chat_deparment_id" => [
"type" => "INT",
],
"user_id" => [
"type" => "INT",
],
];
public function up()
{
$this->forge->addField($this->COLUMNS);
$this->forge->createTable("chat_department_users");
$this->forge->addForeignKey("user_id","users","id");
}
public function down()
{
$this->forge->dropTable("chat_department_users");
}
}