Table Creation Order
I use to follow this path:


create all table, only structure (fields), without any Primary Keys nor Foreign Key, without any Index, the order doesn't matter


1.1 inject predefined (aka static) datas


create Primary Keys &amp; Indexes
create Constraints if any
finally, create inter-table relations aka Foreign keys


Gains expected:


no time spent to manage table order (your primary goal)

=> in the worst case, you can order your tables by an alphabetic order
declarations are grouped by meaning (table then PK &amp; Indexes then Constraints then FK), a gain of visibility and accessibility
easiest to debug
you can store all these items all in one file (for a simple project), or one file by step (big or complex project)