Skip to content

Commit 46fce06

Browse files
committed
Remove testing on MyISAM
MyISAM testing was added back in 2012 (#78) because it would have detected one bug in relation to transactional ordering. MyISAM was not recommended back then and even less so now. It’s non-transactional nature has many implications and [Django’s database documentation](https://docs.djangoproject.com/en/stable/ref/databases/) caveats against using it. I think we can remove the testing now and reduce the maintenance burden. As far as I can tell, it was only added retroactively to guard against that one bug, 13 years ago.
1 parent d8dc3d9 commit 46fce06

File tree

5 files changed

+6
-68
lines changed

5 files changed

+6
-68
lines changed

.github/workflows/main.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -95,15 +95,15 @@ jobs:
9595
python: '3.10'
9696
allow_failure: false
9797

98-
- name: py311-dj51-mysql_innodb-coverage
98+
- name: py311-dj51-mysql-coverage
9999
python: '3.11'
100100
allow_failure: false
101101

102-
- name: py310-dj42-mysql_innodb-coverage
102+
- name: py310-dj42-mysql-coverage
103103
python: '3.10'
104104
allow_failure: false
105105

106-
- name: py39-dj42-mysql_innodb-xdist-coverage
106+
- name: py39-dj42-mysql-xdist-coverage
107107
python: '3.9'
108108
allow_failure: false
109109

@@ -123,10 +123,6 @@ jobs:
123123
python: '3.8'
124124
allow_failure: false
125125

126-
- name: py311-dj42-mysql_myisam-coverage
127-
python: '3.11'
128-
allow_failure: false
129-
130126
# Explicitly test min pytest.
131127
- name: py38-dj42-sqlite-pytestmin-coverage
132128
python: '3.8'

docs/contributing.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ writing), running them all will take a long time. All valid configurations can
140140
be found in `tox.ini`. To test against a few of them, invoke tox with the `-e`
141141
flag::
142142

143-
$ tox -e py38-dj32-postgres,py310-dj41-mysql_innodb
143+
$ tox -e py38-dj32-postgres,py310-dj41-mysql
144144

145145
This will run the tests on Python 3.8/Django 3.2/PostgeSQL and Python
146146
3.10/Django 4.1/MySQL.

pytest_django_test/settings_mysql_innodb.py renamed to pytest_django_test/settings_mysql.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
"PASSWORD": environ.get("TEST_DB_PASSWORD", ""),
1212
"HOST": environ.get("TEST_DB_HOST", "localhost"),
1313
"OPTIONS": {
14-
"init_command": "SET default_storage_engine=InnoDB",
1514
"charset": "utf8mb4",
1615
},
1716
"TEST": {
@@ -26,7 +25,6 @@
2625
"PASSWORD": environ.get("TEST_DB_PASSWORD", ""),
2726
"HOST": environ.get("TEST_DB_HOST", "localhost"),
2827
"OPTIONS": {
29-
"init_command": "SET default_storage_engine=InnoDB",
3028
"charset": "utf8mb4",
3129
},
3230
"TEST": {
@@ -42,7 +40,6 @@
4240
"PASSWORD": environ.get("TEST_DB_PASSWORD", ""),
4341
"HOST": environ.get("TEST_DB_HOST", "localhost"),
4442
"OPTIONS": {
45-
"init_command": "SET default_storage_engine=InnoDB",
4643
"charset": "utf8mb4",
4744
},
4845
"TEST": {

pytest_django_test/settings_mysql_myisam.py

Lines changed: 0 additions & 53 deletions
This file was deleted.

tox.ini

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ deps =
1616
dj50: Django>=5.0,<5.1
1717
dj42: Django>=4.2,<4.3
1818

19-
mysql_myisam: mysqlclient==2.1.0
20-
mysql_innodb: mysqlclient==2.1.0
19+
mysql: mysqlclient==2.1.0
2120

2221
postgres: psycopg[binary]
2322
coverage: coverage[toml]
@@ -27,8 +26,7 @@ deps =
2726
xdist: pytest-xdist>=1.15
2827

2928
setenv =
30-
mysql_innodb: DJANGO_SETTINGS_MODULE=pytest_django_test.settings_mysql_innodb
31-
mysql_myisam: DJANGO_SETTINGS_MODULE=pytest_django_test.settings_mysql_myisam
29+
mysql: DJANGO_SETTINGS_MODULE=pytest_django_test.settings_mysql
3230
postgres: DJANGO_SETTINGS_MODULE=pytest_django_test.settings_postgres
3331
sqlite: DJANGO_SETTINGS_MODULE=pytest_django_test.settings_sqlite
3432
sqlite_file: DJANGO_SETTINGS_MODULE=pytest_django_test.settings_sqlite_file

0 commit comments

Comments
 (0)