createTable('kimai2_access_token'); $accessTokens->addColumn('id', 'integer', ['autoincrement' => true, 'notnull' => true]); $accessTokens->addColumn('user_id', 'integer', ['notnull' => true]); $accessTokens->addColumn('token', 'string', ['notnull' => true, 'length' => 100]); $accessTokens->addColumn('name', 'string', ['notnull' => true, 'length' => 50]); $accessTokens->addColumn('last_usage', 'datetime_immutable', ['notnull' => false, 'default' => null]); $accessTokens->addColumn('expires_at', 'datetime_immutable', ['notnull' => false, 'default' => null]); $accessTokens->setPrimaryKey(['id']); $accessTokens->addIndex(['user_id'], 'IDX_6FB0DB1EA76ED395'); $accessTokens->addUniqueIndex(['token'], 'UNIQ_6FB0DB1E5F37A13B'); $accessTokens->addForeignKeyConstraint('kimai2_users', ['user_id'], ['id'], ['onDelete' => 'CASCADE'], 'FK_6FB0DB1EA76ED395'); } public function down(Schema $schema): void { $table = $schema->getTable('kimai2_access_token'); $table->removeForeignKey('FK_6FB0DB1EA76ED395'); $schema->dropTable('kimai2_access_token'); } public function isTransactional(): bool { return false; } }