fix setup.py

This commit is contained in:
iElectric 2009-06-08 13:08:32 +00:00
parent bc1edc5c1b
commit d835658f23
3 changed files with 44 additions and 36 deletions

View File

@ -169,10 +169,12 @@ class Repository(pathed.Pathed):
"""Create a changeset to migrate this dbms from ver. start to end/latest. """Create a changeset to migrate this dbms from ver. start to end/latest.
""" """
start = version.VerNum(start) start = version.VerNum(start)
if end is None: if end is None:
end = self.latest end = self.latest
else: else:
end = version.VerNum(end) end = version.VerNum(end)
if start <= end: if start <= end:
step = 1 step = 1
range_mod = 1 range_mod = 1
@ -181,7 +183,8 @@ class Repository(pathed.Pathed):
step = -1 step = -1
range_mod = 0 range_mod = 0
op = 'downgrade' op = 'downgrade'
versions = range(start+range_mod, end+range_mod, step)
versions = range(start + range_mod, end + range_mod, step)
changes = [self.version(v).script(database, op) for v in versions] changes = [self.version(v).script(database, op) for v in versions]
ret = Changeset(start, step=step, *changes) ret = Changeset(start, step=step, *changes)
return ret return ret

View File

@ -16,7 +16,7 @@ except ImportError:
test_requirements = ['nose >= 0.10'] test_requirements = ['nose >= 0.10']
required_deps = ['sqlalchemy >= 0.5', 'decorator'] required_deps = ['sqlalchemy >= 0.5', 'decorator']
readme_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'README') readme_file = open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'README'))
setup( setup(
name = "sqlalchemy-migrate", name = "sqlalchemy-migrate",

View File

@ -126,7 +126,7 @@ class TestVersionedRepository(fixture.Pathed):
"""Creates and verifies a changeset""" """Creates and verifies a changeset"""
changeset = repos.changeset('postgres', *params) changeset = repos.changeset('postgres', *params)
self.assertEquals(len(changeset), length) self.assertEquals(len(changeset), length)
self.assert_(isinstance(changeset, Changeset)) self.assertTrue(isinstance(changeset, Changeset))
uniq = list() uniq = list()
# Changesets are iterable # Changesets are iterable
for version, change in changeset: for version, change in changeset:
@ -137,50 +137,55 @@ class TestVersionedRepository(fixture.Pathed):
return changeset return changeset
# Upgrade to a specified version... # Upgrade to a specified version...
cs = check_changeset((0,10),10) cs = check_changeset((0, 10), 10)
self.assertEquals(cs.keys().pop(0),0) # 0 -> 1: index is starting version self.assertEquals(cs.keys().pop(0),0 ) # 0 -> 1: index is starting version
self.assertEquals(cs.keys().pop(),9) # 9 -> 10: index is starting version self.assertEquals(cs.keys().pop(), 9) # 9 -> 10: index is starting version
self.assertEquals(cs.start,0) # starting version self.assertEquals(cs.start, 0) # starting version
self.assertEquals(cs.end,10) # ending version self.assertEquals(cs.end, 10) # ending version
check_changeset((0,1),1) check_changeset((0, 1), 1)
check_changeset((0,5),5) check_changeset((0, 5), 5)
check_changeset((0,0),0) check_changeset((0, 0), 0)
check_changeset((5,5),0) check_changeset((5, 5), 0)
check_changeset((10,10),0) check_changeset((10, 10), 0)
check_changeset((5,10),5) check_changeset((5, 10), 5)
# Can't request a changeset of higher version than this repository # Can't request a changeset of higher version than this repository
self.assertRaises(Exception,repos.changeset,'postgres',5,11) self.assertRaises(Exception, repos.changeset, 'postgres', 5, 11)
self.assertRaises(Exception,repos.changeset,'postgres',-1,5) self.assertRaises(Exception, repos.changeset, 'postgres', -1, 5)
# Upgrade to the latest version... # Upgrade to the latest version...
cs=check_changeset((0,),10) cs = check_changeset((0,), 10)
self.assertEquals(cs.keys().pop(0),0) self.assertEquals(cs.keys().pop(0), 0)
self.assertEquals(cs.keys().pop(),9) self.assertEquals(cs.keys().pop(), 9)
self.assertEquals(cs.start,0) self.assertEquals(cs.start, 0)
self.assertEquals(cs.end,10) self.assertEquals(cs.end, 10)
check_changeset((1,),9) check_changeset((1,), 9)
check_changeset((5,),5) check_changeset((5,), 5)
check_changeset((9,),1) check_changeset((9,), 1)
check_changeset((10,),0) check_changeset((10,), 0)
# Can't request a changeset of higher/lower version than this repository # Can't request a changeset of higher/lower version than this repository
self.assertRaises(Exception,repos.changeset,'postgres',11) self.assertRaises(Exception, repos.changeset, 'postgres', 11)
self.assertRaises(Exception,repos.changeset,'postgres',-1) self.assertRaises(Exception, repos.changeset, 'postgres', -1)
# Downgrade # Downgrade
cs=check_changeset((10,0),10) cs=check_changeset((10, 0),10)
self.assertEquals(cs.keys().pop(0),10) # 10 -> 9 self.assertEquals(cs.keys().pop(0), 10) # 10 -> 9
self.assertEquals(cs.keys().pop(),1) # 1 -> 0 self.assertEquals(cs.keys().pop(), 1) # 1 -> 0
self.assertEquals(cs.start,10) self.assertEquals(cs.start, 10)
self.assertEquals(cs.end,0) self.assertEquals(cs.end, 0)
check_changeset((10,5),5) check_changeset((10, 5), 5)
check_changeset((5,0),5) check_changeset((5, 0), 5)
def test_many_versions(self): def test_many_versions(self):
"""Test what happens when lots of versions are created""" """Test what happens when lots of versions are created"""
repos=Repository(self.path_repos) repos = Repository(self.path_repos)
for i in range(1001): # since we normally create 3 digit ones, let's see if we blow up for i in range(1001):
repos.create_script('') repos.create_script('')
# since we normally create 3 digit ones, let's see if we blow up
self.assert_(os.path.exists('%s/versions/1000.py' % self.path_repos)) self.assert_(os.path.exists('%s/versions/1000.py' % self.path_repos))
self.assert_(os.path.exists('%s/versions/1001.py' % self.path_repos)) self.assert_(os.path.exists('%s/versions/1001.py' % self.path_repos))
# TODO: test manage file # TODO: test manage file
# TODO: test changeset