Skip to content

Commit

Permalink
Using "translation_key" instead of reserved word "key" to support MyS…
Browse files Browse the repository at this point in the history
…QL (#8)

* Not using a reserved word for mysql support
  • Loading branch information
stefliekens authored Nov 29, 2024
1 parent 925bf26 commit 3e7c482
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 13 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Register an additional module in your admin's node dependencies via `assets/admi
```json
{
"dependencies": {
"sulu-translations-bundle": "file:node_modules/@sulu/vendor/tailrdigital/sulu-translations-bundle/assets/admin"
"sulu-translations-bundle": "file:../../vendor/tailrdigital/sulu-translations-bundle/assets/admin
}
}
```
Expand Down Expand Up @@ -136,4 +136,4 @@ bin/websiteconsole cache:clear

## Known limitations

Only tested and used with CSV format.
Only tested and used with CSV and YAML format.
6 changes: 3 additions & 3 deletions src/Infrastructure/Doctrine/Mapper/TranslationMapper.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public function toDb(Translation $translation): array
return [
'locale' => $translation->getLocale(),
'domain' => $translation->getDomain(),
'key' => $translation->getKey(),
'translation_key' => $translation->getKey(),
'translation' => $translation->getTranslation(),
'created_at' => $translation->getCreatedAt(),
'updated_at' => $translation->getUpdatedAt(),
Expand All @@ -35,7 +35,7 @@ public function fromDb(array $data): Translation
'tailr_translations_id' => int(),
'tailr_translations_locale' => string(),
'tailr_translations_domain' => string(),
'tailr_translations_key' => string(),
'tailr_translations_translation_key' => string(),
'tailr_translations_translation' => string(),
'tailr_translations_created_at' => DateTimeType::type(),
'tailr_translations_updated_at' => nullable(DateTimeType::type()),
Expand All @@ -45,7 +45,7 @@ public function fromDb(array $data): Translation
$parsedData['tailr_translations_id'],
$parsedData['tailr_translations_locale'],
$parsedData['tailr_translations_domain'],
$parsedData['tailr_translations_key'],
$parsedData['tailr_translations_translation_key'],
$parsedData['tailr_translations_translation'],
$parsedData['tailr_translations_created_at'],
$parsedData['tailr_translations_updated_at'],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ private function buildQuery(SearchCriteria $criteria): QueryBuilder
if ($search = $criteria->searchString()) {
$qb->andWhere(
$qb->expr()->or(
$qb->expr()->like('lower(key)', ':search'),
$qb->expr()->like('lower(translation_key)', ':search'),
$qb->expr()->like('lower(translation)', ':search')
)
)->setParameter('search', '%'.lowercase($search).'%');
Expand All @@ -148,10 +148,10 @@ public function findByKeyLocaleDomain(string $key, string $locale, string $domai
$qb = $connection->createQueryBuilder();
$qb->select(TranslationTable::selectColumns())
->from(TranslationTable::NAME)
->where('key = :key')
->where('translation_key = :translationKey')
->andWhere('domain = :domain')
->andWhere('locale = :locale')
->setParameter('key', $key)
->setParameter('translationKey', $key)
->setParameter('domain', $domain)
->setParameter('locale', $locale);

Expand All @@ -171,10 +171,10 @@ public function deleteByKeyLocaleDomain(string $key, string $locale, string $dom
$connection->transactional(function () use ($connection, $key, $locale, $domain): void {
$qb = $connection->createQueryBuilder()
->delete(TranslationTable::NAME)
->where('key = :key')
->where('translation_key = :translationKey')
->andWhere('domain = :domain')
->andWhere('locale = :locale')
->setParameter('key', $key)
->setParameter('translationKey', $key)
->setParameter('domain', $domain)
->setParameter('locale', $locale);

Expand Down
2 changes: 1 addition & 1 deletion src/Infrastructure/Doctrine/Schema/TranslationTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public static function createTable(?Schema $schema = null): Table
$table->addColumn('domain', Types::STRING)
->setLength(255)
->setNotnull(true);
$table->addColumn('key', Types::TEXT)
$table->addColumn('translation_key', Types::TEXT)
->setNotnull(true);
$table->addColumn('translation', Types::TEXT)
->setNotnull(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public function it_can_map_to_db(): void

self::assertSame($locale, $mappedTranslation['locale']);
self::assertSame($domain, $mappedTranslation['domain']);
self::assertSame($key, $mappedTranslation['key']);
self::assertSame($key, $mappedTranslation['translation_key']);
self::assertSame($translationValue, $mappedTranslation['translation']);
self::assertSame($createdAt, $mappedTranslation['created_at']);
self::assertNull($mappedTranslation['updated_at']);
Expand All @@ -39,7 +39,7 @@ public function it_can_map_from_db(): void
'tailr_translations_id' => $id = 1,
'tailr_translations_locale' => $locale = 'en',
'tailr_translations_domain' => $domain = 'messages',
'tailr_translations_key' => $key = 'app.foo.bar',
'tailr_translations_translation_key' => $key = 'app.foo.bar',
'tailr_translations_translation' => $translationValue = 'Foo Bar Value',
'tailr_translations_created_at' => $createdAt = '2021-01-01 00:00:00',
'tailr_translations_updated_at' => $updatedAt = '2021-01-01 10:00:00',
Expand Down

0 comments on commit 3e7c482

Please sign in to comment.