ports/137234: New port: databases/py-south Intelligent schema migrations for Django apps
Stanislav Svirid
count at 211.ru
Wed Jul 29 09:20:05 UTC 2009
>Number: 137234
>Category: ports
>Synopsis: New port: databases/py-south Intelligent schema migrations for Django apps
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Jul 29 09:20:04 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Stanislav Svirid
>Release: FreeBSD 7.1-STABLE i386
>Organization:
>Environment:
FreeBSD unknown.211.ru 7.1-STABLE FreeBSD 7.1-STABLE #7: Mon Mar 9 18:59:18 NOVT 2009 root at unknown.211.ru:/fsys/big0/obj/usr/src/sys/UNKNOWN i386
>Description:
This is South, intelligent schema migrations for Django apps.
South is:
* Intelligent; it knows if you've missed out a migration or two
* Database independent, so there's no hassle if you need to move databases.
* Easy; it can write migrations for you, and it takes about a minute to
convert your app over to use South.
* Designed for a pluggable Django world; you can declare dependencies
between apps so they all migrate together correctly, and you can still
use syncdb for your non-migrated apps without it interfering.
* Useful for data too; you can write migrations to transform legacy data.
* Better (we think, anyway) than the alternatives.
WWW: http://south.aeracode.org/
>How-To-Repeat:
>Fix:
Patch attached with submission follows:
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# py-south
# py-south/pkg-plist
# py-south/pkg-descr
# py-south/distinfo
# py-south/Makefile
#
echo c - py-south
mkdir -p py-south > /dev/null 2>&1
echo x - py-south/pkg-plist
sed 's/^X//' >py-south/pkg-plist << '5ce9309d34b967c6d5a490519a4a6015'
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/modelsparser.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/models.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/__init__.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/orm.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/migration.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/modelsparser.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/models.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/__init__.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/orm.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/migration.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/sqlite3.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/__init__.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/postgresql_psycopg2.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/generic.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/mysql.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/sqlite3.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/__init__.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/postgresql_psycopg2.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/generic.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/mysql.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/sqlite3.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/__init__.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/postgresql_psycopg2.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/generic.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db/mysql.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/__init__.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/__init__.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/syncdb.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/test.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/migrate.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/__init__.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/startmigration.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/syncdb.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/test.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/migrate.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/__init__.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/startmigration.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/syncdb.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/test.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/migrate.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/__init__.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands/startmigration.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/__init__.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/logic.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/modelsparser.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/db.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/__init__.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/logic.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/modelsparser.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/db.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/__init__.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/models.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/__init__.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/models.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/__init__.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/migrations/__init__.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/migrations/0002_eggs.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/migrations/0003_alter_spam.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/migrations/0001_spam.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/migrations/__init__.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/migrations/0002_eggs.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/migrations/0003_alter_spam.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/migrations/0001_spam.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/migrations/__init__.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/migrations/0002_eggs.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/migrations/0003_alter_spam.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/migrations/0001_spam.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/models.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/__init__.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/logic.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/modelsparser.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/db.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/__init__.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/modelsparser.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/models.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/__init__.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/orm.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/migration.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/PKG-INFO
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/SOURCES.txt
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/dependency_links.txt
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/top_level.txt
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/not-zip-safe
X at dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/db
X at dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management/commands
X at dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/management
X at dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp/migrations
X at dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests/fakeapp
X at dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south/tests
X at dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/south
X at dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO
X at dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%
5ce9309d34b967c6d5a490519a4a6015
echo x - py-south/pkg-descr
sed 's/^X//' >py-south/pkg-descr << '4e4486ba633c2713fb18c291ce58d5f7'
XThis is South, intelligent schema migrations for Django apps.
X
XSouth is:
X
X * Intelligent; it knows if you've missed out a migration or two
X * Database independent, so there's no hassle if you need to move databases.
X * Easy; it can write migrations for you, and it takes about a minute to
X convert your app over to use South.
X * Designed for a pluggable Django world; you can declare dependencies
X between apps so they all migrate together correctly, and you can still
X use syncdb for your non-migrated apps without it interfering.
X * Useful for data too; you can write migrations to transform legacy data.
X * Better (we think, anyway) than the alternatives.
X
XWWW: http://south.aeracode.org/
4e4486ba633c2713fb18c291ce58d5f7
echo x - py-south/distinfo
sed 's/^X//' >py-south/distinfo << '868d1278685073cadefd074d48b2379d'
XMD5 (south-0.5.tar.gz) = 5a7c6396858d45b53ab01ba429587043
XSHA256 (south-0.5.tar.gz) = 803ff31f3828e558d2ed8b12c9e36d0a1a08a00493a7e33d89d3e44a17abf3d3
XSIZE (south-0.5.tar.gz) = 40942
868d1278685073cadefd074d48b2379d
echo x - py-south/Makefile
sed 's/^X//' >py-south/Makefile << 'd9f2d89dff2d297945e30d8bbaf83ff7'
X# New ports collection makefile for: py-south
X# Date created: Jun 27 2009
X# Whom: vanilla@
X#
X# $FreeBSD$
X#
X
XPORTNAME= south
XPORTVERSION= 0.5
XCATEGORIES= databases python
XMASTER_SITES= http://www.aeracode.org/releases/south/
XPKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
X
XMAINTAINER= vanilla at FreeBSD.org
XCOMMENT= This is South, intelligent schema migrations for Django apps
X
XWRKSRC= ${WRKDIR}/${PORTNAME}
XUSE_PYTHON= yes
XPYDISTUTILS_PKGNAME= South
XUSE_PYDISTUTILS= easy_install
X
X.include <bsd.port.mk>
d9f2d89dff2d297945e30d8bbaf83ff7
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list