﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
10236	Change order of actions in syncdb	jbergstroem	nobody	"Syncdb currently executes actions in this order:
 * Create tables
 * Create m2m tables
 * (optional) Run custom sql
 * Create indexes
 * (optional) Run fixtures

This makes it hard to execute custom sql such as ""remove these indexes that Django created for me but never are used"". Changing the current order won't break anything since indexes are calculated from models, and if the user chooses to break their models - django can't do much about it. The optimal thing to do here is probably running indexes after fixtures has been inserted (faster inserts and index creation), but this is a larger step from the current way and needs to be thoroughly tested.

Attached patch changes order so indexes are inserted before custom sql. Sqlall output is also patched for consistency. One additional thing that _could_ be clarified is documentation regarding good practices in fixtures and custom SQL - but this is far from needed in this patch."	New feature	closed	Core (Management commands)	dev	Normal	fixed	order syncdb sql index		Accepted	1	0	0	1	0	0
