sigi / temp-table-bundle
Symfony bundle to create temp database
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 1
Open Issues: 0
Type:project
pkg:composer/sigi/temp-table-bundle
Requires
- php: >=8.2
- ext-ctype: *
- ext-iconv: *
- doctrine/dbal: 3.10.*
- symfony/console: 7.3.*
- symfony/dotenv: 7.3.*
- symfony/runtime: 7.3.*
- symfony/yaml: 7.3.*
Requires (Dev)
- friendsofphp/php-cs-fixer: *
- mikey179/vfsstream: 1.6.12
- phpro/grumphp: *
- phpspec/prophecy: ~1.0
- phpspec/prophecy-phpunit: ^2.4
- phpstan/phpstan: *
Conflicts
This package is auto-updated.
Last update: 2026-01-07 15:04:33 UTC
README
This bundle aim to manage table database which are not entity
How to import a csv as Table
{
// autowiring
public function __construct(private TempTableManager $tempTable,
private LoggerInterface $logger,
private Connection $doctrineConnection,
private TableFactory $tableFactory
){
parent::__construct();
}
public function import(){
$config = new TempTableConfig('temp_', 24, 1000);
$connection = new DoctrineDatabaseConnection($this->doctrineConnection);
$typeConverter = new PostgreSqlTypeConverter();
// services creations
$tableCreator = new PostgreSqlTableCreator($connection, $this->tableFactory, $config, $this->logger);
$csvImporter = new StrategyCsvImporter(
$connection,
$this->logger,
new CopyFromImportStrategy($connection, $this->logger),
new BatchInsertStrategy($connection, $typeConverter, $config, $this->logger)
);
$tableRegistry = new DatabaseTableRegistry($connection, $this->logger);
$tableCleaner = new ExpiredTableCleaner($connection, $tableRegistry, $config, $this->logger);
$tempTableManager = new TempTableManager(
$tableCreator,
$csvImporter,
$tableRegistry,
$tableCleaner,
$this->logger
);
$tempTableManager ->createTableFromCsv(__DIR__."/CsvTest.csv", "test");
How to fetch data using the bundle:
public function fetchData(Connection $doctrineConnection): int
{
$query = new TempTableQuery($doctrineConnection);
$conditions = ['col_453' => "v0nMqky1BP"];
$query->query("tmptemp_test", ["col_453"])->addConditions($conditions);
$results =$query->getQb()->executeQuery()->fetchAllAssociative();
dump($results);
return Command::FAILURE;
}