From f3a71be3f064315a9658b431d9399360d110fb40 Mon Sep 17 00:00:00 2001 From: Matthew Bucci Date: Sun, 26 Nov 2023 15:17:26 -0800 Subject: [PATCH] handle unique keys --- pg4wp/rewriters/CreateTableSQLRewriter.php | 5 ++++ tests/rewriteTest.php | 31 ++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/pg4wp/rewriters/CreateTableSQLRewriter.php b/pg4wp/rewriters/CreateTableSQLRewriter.php index bbd09d6..649d94d 100644 --- a/pg4wp/rewriters/CreateTableSQLRewriter.php +++ b/pg4wp/rewriters/CreateTableSQLRewriter.php @@ -97,6 +97,11 @@ class CreateTableSQLRewriter extends AbstractSQLRewriter } // Now remove handled indexes $sql = preg_replace($pattern, '', $sql); + + + $pattern = "/(,\s*)?UNIQUE KEY\s+[a-zA-Z0-9_]+\s+(\([a-zA-Z0-9_,\s]+\))/"; + $replacement = "$1UNIQUE $2"; + $sql = preg_replace($pattern, $replacement, $sql); return $sql; } diff --git a/tests/rewriteTest.php b/tests/rewriteTest.php index 12d56f1..9d417df 100644 --- a/tests/rewriteTest.php +++ b/tests/rewriteTest.php @@ -93,4 +93,35 @@ final class rewriteTest extends TestCase $postgresql = pg4wp_rewrite($sql); $this->assertSame(trim($postgresql), trim($expected)); } + + + public function test_it_handles_keys() + { + $sql = <<assertSame(trim($postgresql), trim($expected)); + } + + } \ No newline at end of file