createtable($tableName); $this->createTable($revisionTable); return $schema; } public function setQueueName(string $queueName): self { $this->queueName = $queueName; return $this; } private function createTable(Table $table): void { $table->addColumn(self::ID, 'string', ['length' => 36]); $table->addColumn(self::MESSAGE, 'text', ['notnull' => true]); $table->addColumn(self::VISIBLE, 'boolean', []); $table->addColumn(self::CREATED_AT, 'datetime', ['notnull' => true]); $table->setPrimaryKey([self::ID]); $table->addIndex([self::CREATED_AT, self::VISIBLE], 'IDX_created_at_visible_' . $this->queueName); } }