Skip to content

Commit 5ad0888

Browse files
committed
Fix db extensions
1 parent 3cfc409 commit 5ad0888

File tree

5 files changed

+56
-11
lines changed

5 files changed

+56
-11
lines changed

__tests__/extensions.test.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@ describe('Extension tests', () => {
1313
expect(win32).toContain('phalcon.ps1 phalcon4');
1414
expect(win32).toContain('Add-Extension ast beta');
1515

16+
win32 = await extensions.addExtension('mysql', '7.4', 'win32');
17+
expect(win32).toContain('Add-Extension mysqli');
18+
expect(win32).toContain('Add-Extension mysqlnd');
19+
20+
win32 = await extensions.addExtension('mysql', '8.0', 'win32');
21+
expect(win32).toContain('Add-Extension mysqli');
22+
expect(win32).toContain('Add-Extension mysqlnd');
23+
24+
win32 = await extensions.addExtension('mysql', '5.6', 'win32');
25+
expect(win32).toContain('Add-Extension mysql');
26+
expect(win32).toContain('Add-Extension mysqli');
27+
expect(win32).toContain('Add-Extension mysqlnd');
28+
1629
win32 = await extensions.addExtension(
1730
'phalcon3, does_not_exist',
1831
'7.2',
@@ -66,7 +79,7 @@ describe('Extension tests', () => {
6679

6780
it('checking addExtensionOnDarwin', async () => {
6881
let darwin: string = await extensions.addExtension(
69-
'Xdebug, pcov, sqlite3, ast-beta',
82+
'Xdebug, pcov, sqlite, ast-beta',
7083
'7.2',
7184
'darwin'
7285
);

dist/index.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2531,7 +2531,7 @@ async function addExtensionDarwin(extension_csv, version, pipe) {
25312531
command = command_prefix + 'redis-2.2.8' + pipe;
25322532
break;
25332533
// match imagick
2534-
case /imagick/.test(extension):
2534+
case /^imagick$/.test(extension):
25352535
command =
25362536
'brew install pkg-config imagemagick' +
25372537
pipe +
@@ -2541,7 +2541,7 @@ async function addExtensionDarwin(extension_csv, version, pipe) {
25412541
pipe;
25422542
break;
25432543
// match sqlite
2544-
case /sqlite/.test(extension):
2544+
case /^sqlite$/.test(extension):
25452545
extension = 'sqlite3';
25462546
command = command_prefix + extension + pipe;
25472547
break;
@@ -2587,8 +2587,19 @@ async function addExtensionWindows(extension_csv, version) {
25872587
case /.*-(beta|alpha|devel|snapshot)/.test(version_extension):
25882588
script += '\nAdd-Extension ' + extension_name + ' ' + stability;
25892589
break;
2590+
// match 5.6mysql, 5.6mysqli, 5.6mysqlnd
2591+
case /^5\.6(mysql|mysqli|mysqlnd)$/.test(version_extension):
2592+
script +=
2593+
'\nAdd-Extension mysql\nAdd-Extension mysqli\nAdd-Extension mysqlnd';
2594+
break;
2595+
// match 7.0mysql..8.0mysql
2596+
// match 7.0mysqli..8.0mysqli
2597+
// match 7.0mysqlnd..8.0mysqlnd
2598+
case /[7-8]\.\d(mysql|mysqli|mysqlnd)$/.test(version_extension):
2599+
script += '\nAdd-Extension mysqli\nAdd-Extension mysqlnd';
2600+
break;
25902601
// match sqlite
2591-
case /sqlite/.test(extension):
2602+
case /^sqlite$/.test(extension):
25922603
extension = 'sqlite3';
25932604
script += '\nAdd-Extension ' + extension;
25942605
break;
@@ -2665,7 +2676,8 @@ async function addExtensionLinux(extension_csv, version, pipe) {
26652676
'\n' +
26662677
(await utils.addLog('$tick', 'xdebug', 'Enabled', 'linux'));
26672678
return;
2668-
case /sqlite/.test(extension):
2679+
// match sqlite
2680+
case /^sqlite$/.test(extension):
26692681
extension = 'sqlite3';
26702682
command = command_prefix + version + '-' + extension + pipe;
26712683
break;

src/extensions.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export async function addExtensionDarwin(
4545
command = command_prefix + 'redis-2.2.8' + pipe;
4646
break;
4747
// match imagick
48-
case /imagick/.test(extension):
48+
case /^imagick$/.test(extension):
4949
command =
5050
'brew install pkg-config imagemagick' +
5151
pipe +
@@ -55,7 +55,7 @@ export async function addExtensionDarwin(
5555
pipe;
5656
break;
5757
// match sqlite
58-
case /sqlite/.test(extension):
58+
case /^sqlite$/.test(extension):
5959
extension = 'sqlite3';
6060
command = command_prefix + extension + pipe;
6161
break;
@@ -104,8 +104,19 @@ export async function addExtensionWindows(
104104
case /.*-(beta|alpha|devel|snapshot)/.test(version_extension):
105105
script += '\nAdd-Extension ' + extension_name + ' ' + stability;
106106
break;
107+
// match 5.6mysql, 5.6mysqli, 5.6mysqlnd
108+
case /^5\.6(mysql|mysqli|mysqlnd)$/.test(version_extension):
109+
script +=
110+
'\nAdd-Extension mysql\nAdd-Extension mysqli\nAdd-Extension mysqlnd';
111+
break;
112+
// match 7.0mysql..8.0mysql
113+
// match 7.0mysqli..8.0mysqli
114+
// match 7.0mysqlnd..8.0mysqlnd
115+
case /[7-8]\.\d(mysql|mysqli|mysqlnd)$/.test(version_extension):
116+
script += '\nAdd-Extension mysqli\nAdd-Extension mysqlnd';
117+
break;
107118
// match sqlite
108-
case /sqlite/.test(extension):
119+
case /^sqlite$/.test(extension):
109120
extension = 'sqlite3';
110121
script += '\nAdd-Extension ' + extension;
111122
break;
@@ -186,7 +197,8 @@ export async function addExtensionLinux(
186197
'\n' +
187198
(await utils.addLog('$tick', 'xdebug', 'Enabled', 'linux'));
188199
return;
189-
case /sqlite/.test(extension):
200+
// match sqlite
201+
case /^sqlite$/.test(extension):
190202
extension = 'sqlite3';
191203
command = command_prefix + version + '-' + extension + pipe;
192204
break;

src/scripts/darwin.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,11 @@ remove_extension() {
2727
# Function to test if extension is loaded
2828
check_extension() {
2929
extension=$1
30-
php -m | grep -i -q -w "$extension"
30+
if [ "$extension" != "mysql" ]; then
31+
php -m | grep -i -q -w "$extension"
32+
else
33+
php -m | grep -i -q "$extension"
34+
fi
3135
}
3236

3337
# Fuction to get the PECL version

src/scripts/linux.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,11 @@ get_pecl_version() {
5151
# Function to test if extension is loaded
5252
check_extension() {
5353
extension=$1
54-
php -m | grep -i -q -w "$extension"
54+
if [ "$extension" != "mysql" ]; then
55+
php -m | grep -i -q -w "$extension"
56+
else
57+
php -m | grep -i -q "$extension"
58+
fi
5559
}
5660

5761
# Function to delete extensions

0 commit comments

Comments
 (0)