merge feat/mensajes-internos

This commit is contained in:
amazuecos
2024-10-14 13:33:09 +00:00
28 changed files with 1426 additions and 412 deletions

View File

@ -0,0 +1,55 @@
<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
use CodeIgniter\Database\RawSql;
class ChatUsers extends Migration
{
protected array $COLUMNS = [
"id" => [
"type" => "INT",
"unsigned" => true,
"auto_increment" => true
],
"chat_id" => [
"type" => "INT",
"unsigned" => true,
],
"user_id" => [
"type" => "INT",
"unsigned" => true,
],
];
public function up()
{
$this->forge->addField($this->COLUMNS);
$currenttime = new RawSql("CURRENT_TIMESTAMP");
$this->forge->addField([
"created_at" => [
"type" => "TIMESTAMP",
"default" => $currenttime,
],
"updated_at" => [
"type" => "TIMESTAMP",
"null" => true,
],
"deleted_at" => [
"type" => "TIMESTAMP",
"null" => true,
],
]);
$this->forge->addPrimaryKey('id');
$this->forge->addForeignKey(["user_id"], "users", ["id"]);
$this->forge->addForeignKey(["chat_id"], "chats", ["id"]);
$this->forge->createTable("chat_users", true);
}
public function down()
{
$this->forge->dropTable("chat_users");
}
}

View File

@ -0,0 +1,33 @@
<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\RawSql;
use CodeIgniter\Database\Migration;
class AlterChatTableAddTitleColumn extends Migration
{
protected array $COLUMNS = [
"title" => [
"type" => "VARCHAR",
"constraint" => 255,
"null" => true
],
];
public function up()
{
$this->forge->addColumn("chats",$this->COLUMNS);
}
public function down()
{
//
$this->forge->dropColumn("chats","title");
}
}

View File

@ -0,0 +1,58 @@
<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
use CodeIgniter\Database\RawSql;
class ChatNotifications extends Migration
{
protected array $COLUMNS = [
"id" => [
"type" => "INT",
"unsigned" => true,
"auto_increment" => true
],
"chat_message_id" => [
"type" => "INT",
],
"user_id" => [
"type" => "INT",
"unsigned" => true,
],
"viewed" => [
"type" => "BOOLEAN",
"default" => false
],
];
public function up()
{
$this->forge->addField($this->COLUMNS);
$currenttime = new RawSql("CURRENT_TIMESTAMP");
$this->forge->addField([
"created_at" => [
"type" => "TIMESTAMP",
"default" => $currenttime,
],
"updated_at" => [
"type" => "TIMESTAMP",
"null" => true,
],
"deleted_at" => [
"type" => "TIMESTAMP",
"null" => true,
],
]);
$this->forge->addPrimaryKey('id');
$this->forge->addForeignKey(["chat_message_id"], "chat_messages", ["id"]);
$this->forge->addForeignKey(["user_id"], "users", ["id"]);
$this->forge->createTable("chat_notifications", true);
}
public function down()
{
$this->forge->dropTable("chat_notifications");
}
}