Added Email Logging for Emailnotification class
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
use Phinx\Migration\AbstractMigration;
|
||||
|
||||
final class CreateEmailLog extends AbstractMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
if($this->getEnvironment() == "thetool") {
|
||||
$el = $this->table("EmailLog");
|
||||
$el->addColumn("object_type", "string", ["null" => false, "length" => 255]);
|
||||
$el->addColumn("object_id", "integer", ["null" => false]);
|
||||
$el->addColumn("object_data", "string", ["null" => false, "length" => 255]);
|
||||
$el->addColumn("from", "string", ["null" => false, "length" => 255]);
|
||||
$el->addColumn("to", "string", ["null" => false, "length" => 255]);
|
||||
$el->addColumn("headers", "json", ["null" => false]);
|
||||
$el->addColumn("subject", "string", ["null" => false, "length" => 255]);
|
||||
$el->addColumn("body_text", "text", ["null" => true, "length" => Phinx\Db\Adapter\MysqlAdapter::TEXT_LONG]);;
|
||||
$el->addColumn("body_html", "text", ["null" => true, "length" => Phinx\Db\Adapter\MysqlAdapter::TEXT_LONG]);
|
||||
$el->addColumn("create_by", "integer", ["null" => false]);
|
||||
$el->addColumn("edit_by", "integer", ["null" => false]);
|
||||
$el->addColumn("create", "integer", ["null" => false]);
|
||||
$el->addColumn("edit", "integer", ["null" => false]);
|
||||
$el->addIndex(["object_type"]);
|
||||
$el->addIndex(["object_id"]);
|
||||
$el->addIndex(["object_data"]);
|
||||
$el->addIndex(["from"]);
|
||||
$el->addIndex(["to"]);
|
||||
$el->addIndex(["subject"]);
|
||||
$el->create();
|
||||
|
||||
|
||||
$ela = $this->table("EmailLogAttachment");
|
||||
$ela->addColumn("emaillog_id", "integer", ["null" => false]);
|
||||
$ela->addColumn("content_id", "string", ["null" => false, "length" => 255]);
|
||||
$ela->addColumn("filename", "string", ["null" => false, "length" => 255]);
|
||||
$ela->addColumn("create_by", "integer", ["null" => false]);
|
||||
$ela->addColumn("edit_by", "integer", ["null" => false]);
|
||||
$ela->addColumn("create", "integer", ["null" => false]);
|
||||
$ela->addColumn("edit", "integer", ["null" => false]);
|
||||
$ela->addIndex(["emaillog_id"]);
|
||||
$ela->addIndex(["content_id"]);
|
||||
$ela->addIndex(["filename"]);
|
||||
$ela->create();
|
||||
|
||||
|
||||
$elad = $this->table("EmailLogAttachmentContent");
|
||||
$elad->addColumn("mimetype", "string", ["null" => false, "length" => 255]);
|
||||
$elad->addColumn("filesize", "integer", ["null" => false]);
|
||||
$elad->addColumn("sha256", "string", ["null" => false, "length" => 255]);
|
||||
$elad->addColumn("content", "blob", ["null" => false, "length" => Phinx\Db\Adapter\MysqlAdapter::BLOB_LONG]);
|
||||
$elad->addColumn("create_by", "integer", ["null" => false]);
|
||||
$elad->addColumn("edit_by", "integer", ["null" => false]);
|
||||
$elad->addColumn("create", "integer", ["null" => false]);
|
||||
$elad->addColumn("edit", "integer", ["null" => false]);
|
||||
$elad->addIndex(["sha256"]);
|
||||
$elad->create();
|
||||
|
||||
}
|
||||
|
||||
if($this->getEnvironment() == "addressdb") {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public function down(): void
|
||||
{
|
||||
if($this->getEnvironment() == "thetool") {
|
||||
$this->table("EmailLog")->drop()->save();
|
||||
$this->table("EmailLogAttachment")->drop()->save();
|
||||
$this->table("EmailLogAttachmentContent")->drop()->save();
|
||||
}
|
||||
|
||||
if($this->getEnvironment() == "addressdb") {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user