Files
crowd-fund-api/migrations/Version20261021102456.php
daniel.subiabre eb822d7ff1 feat: Mail integration (#259)
* feat: composer require symfony/mailer

* feat: add entities for massive emailing

* feat: expose mail API resources

* feat: add BatchStatus::SentErrors

* fix: show client status after consent command

* feat: define shape of audiences criteria

* fix: missing map entity provider for mail entities

* fix: unsupported array/object conversion of audience criterias

* fix: rename MailBatch to MailBroadcast and MailBatchRecipient to MailDispatch

* feat: add command to process broadcasts

* feat: add lock to broadcast process command

* fix: remove dispatchCursor from Broadcast

* fix: make broadcasts-process command fast

* feat: update mailpit config for local dev

* feat: add app:mail:dispatches-process command

* feat: it was fun to play with a massive mailing prototype

* feat: composer require symfonycasts/reset-password-bundle

* feat: make reset-password

* fix: bad ALTER on migration down op

* feat: add migration for reset password bundle

* fix: update forms style

* feat: configure mailer address via env var

* fix: remove missing asset reference

* feat: translate /auth/reset-password

* feat: translate email message

* fix: calendar minimum optimum deadline not being set when release was given

* feat: translate /check-email

* feat: translate /reset

* fix: rename main SecurityController path to /auth

* feat: add known oauth2 clients controllr

* fix: deprecated custom responses openapi context definitions

* fix: projects not in campaign can still have a calendar

* fix: weird af regression out of the blue, fuck software

* feat: fuck my life
2026-10-26 12:52:19 +01:00

29 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20261021102456 extends AbstractMigration
{
public function getDescription(): string
{
return 'Add reset_password_request table';
}
public function up(Schema $schema): void
{
$this->addSql('CREATE TABLE reset_password_request (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, selector VARCHAR(20) NOT NULL, hashed_token VARCHAR(100) NOT NULL, requested_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', expires_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', INDEX IDX_7CE748AA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE reset_password_request ADD CONSTRAINT FK_7CE748AA76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE reset_password_request DROP FOREIGN KEY FK_7CE748AA76ED395');
$this->addSql('DROP TABLE reset_password_request');
}
}