#12976 closed (fixed)
manage.py sqlflush issues to many 'ALTER' when using multiple mysql databases.
Reported by: | pczapla | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 1.2-beta |
Severity: | Keywords: | mysql | |
Cc: | Triage Stage: | Accepted | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | yes | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
In a brief when I have two databases with different sets of models the sqlflush statement output ALTER TABLE .. AUTO_INCREMENT = 1; for all tables in an application.
The TRUNCATE commands are issued for the right tables.
The problem is quite importan for us as it breaks the test command.
I've created an application that demonstrate the problem. It has two databases: 'default' and 'second' and two models:
'ModelOnTheDefaultDB', 'ModelOnTheSecondDB'.
Here is how the output of syncdb and sqlflush looks like:
$ python manage.py syncdb Creating table test_app_modelonthedefaultdb $ python manage.py syncdb --database='second' Creating table test_app_modelontheseconddb $ python manage.py sqlflush BEGIN; SET FOREIGN_KEY_CHECKS = 0; TRUNCATE `test_app_modelonthedefaultdb`; SET FOREIGN_KEY_CHECKS = 1; ALTER TABLE `test_app_modelonthedefaultdb` AUTO_INCREMENT = 1; ALTER TABLE `test_app_modelontheseconddb` AUTO_INCREMENT = 1; -- This alter table should not be here COMMIT; $ python manage.py sqlflush --database='second' BEGIN; SET FOREIGN_KEY_CHECKS = 0; TRUNCATE `test_app_modelontheseconddb`; SET FOREIGN_KEY_CHECKS = 1; ALTER TABLE `test_app_modelonthedefaultdb` AUTO_INCREMENT = 1; -- This alter table should not be here ALTER TABLE `test_app_modelontheseconddb` AUTO_INCREMENT = 1; COMMIT;
Attachments (2)
Change History (6)
by , 15 years ago
Attachment: | split_test.zip added |
---|
by , 15 years ago
I've attached a quick solution that fixed the problem for me.
comment:1 by , 15 years ago
Has patch: | set |
---|---|
Needs tests: | set |
comment:2 by , 15 years ago
Triage Stage: | Unreviewed → Accepted |
---|
comment:3 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
A demo project that shows the problem