getTable('kimai2_invoices'); $invoices->getColumn('invoice_filename')->setLength(150); $timesheet = $schema->getTable('kimai2_timesheet'); $timesheet->addColumn('billable', 'boolean', ['notnull' => false, 'default' => true]); $timesheet->addColumn('category', 'string', ['length' => 10, 'notnull' => true, 'default' => 'work']); $timesheet->addColumn('modified_at', 'datetime', ['notnull' => false]); } public function down(Schema $schema): void { $invoices = $schema->getTable('kimai2_invoices'); $invoices->getColumn('invoice_filename')->setLength(100); $timesheet = $schema->getTable('kimai2_timesheet'); $timesheet->dropColumn('billable'); $timesheet->dropColumn('category'); $timesheet->dropColumn('modified_at'); } protected function isSupportingForeignKeys(): bool { return false; } public function isTransactional(): bool { if ($this->isPlatformSqlite()) { // does fail if we use transactions, as tables are re-created and foreign keys would fail return false; } return true; } }