mozilla / playdoh

PROJECT DEPRECATED (WAS: "Mozilla's Web application base template. Half Django, half awesomeness, half not good at math.")
BSD 3-Clause "New" or "Revised" License
710 stars 107 forks source link

South vs Schematic #149

Closed wraithan closed 11 years ago

wraithan commented 11 years ago

It appears to come up randomly in the bug tracker, there were mentions of it being in the docs, etc, but it appears that has all gone away. I'd like to open up to the possibility of using South going forward rather than Schematic.

Schematic

Schematic being the status quo and making moving between our projects is great, especially since I assume all of our deployment scripts and everything are already setup to use it. It gives us the python or sql migrations like we want.

South

South is the status quo for the rest of the django world. Django 1.6 will include South in it. It can auto generate migrations for things like adding/removing a table, column, etc. This is what people from outside of Mozilla webdev are used to using when they jump into our django sites. Also it supports explicit dependencies between migrations, which can be really helpful.

So really, why change?

Schematic is working for us, it is deployed on all of our sites, and we all know how to use it, from developers to ops. Unfortunately, our new developers who are already experienced django devs, have to learn a new tool. Some of the magic that South provides will abstract away differences between MySQL (what we use at work) and PostgreSQL (What a lot of us use for personal projects), as well as saving time on the migrations we do write.

Finally, it is the future of django development. Django 1.5 just got released, 1.6 wont be out for a while, but the plan is for South to be integrated. Let's get ready for this future.

natea commented 11 years ago

I can say from an outsider looking in, learning a new migration tool is a deterrent for getting more involved with Mozilla projects. And I suspect that other experienced Django devs would have similar sentiments.

I agree that while in the short-term it may be painful to switch from using schematic to using South, in the long-term it's in the best interests of Mozilla and any future contributors to Mozilla projects.

willkg commented 11 years ago

Pretty sure the recommendation is to use south already:

http://playdoh.readthedocs.org/en/latest/userguide/migrations.html

We're using it with Fjord. I think the problem is less "which should we use going forward" and more "the docs need to be cleaned up to be more self-consistent".

fwenzel commented 11 years ago

Yeah South has been the recommendation for a long time now. Are we even still bundling schematic? If so, then just because it's dead-simple, not because it's preferable over South.

peterbe commented 11 years ago

I'm using South in all new Django projects in Webtools.

Pardon me if I'm too bold but I'm going to close the issue because it's as @willkg says, already in playdoh. We might need to do a better job guiding it rather than just saying "Please use south.".

willkg commented 11 years ago

Just to clarify, South is on that one page in the docs, but it's not in playdoh-lib. Also, everywhere else in the playdoh docs, it talks about schematic. That's what I was getting at with the "the docs need to be cleaned up to be more self-consistent". I'm pretty sure we talked about this when we were building Fjord back in August.