|
|
a8e437d |
diff -Naur sqlalchemy-migrate-0.9.1.orig/migrate/tests/fixture/shell.py sqlalchemy-migrate-0.9.1/migrate/tests/fixture/shell.py
|
|
|
a8e437d |
--- sqlalchemy-migrate-0.9.1.orig/migrate/tests/fixture/shell.py 2014-05-06 14:39:34.000000000 +0000
|
|
|
a8e437d |
+++ sqlalchemy-migrate-0.9.1/migrate/tests/fixture/shell.py 2014-06-13 18:09:14.148005049 +0000
|
|
|
ea60125 |
@@ -25,9 +25,9 @@
|
|
|
5613a61 |
)
|
|
|
5613a61 |
|
|
|
5613a61 |
def run_version(self, repos_path):
|
|
|
5613a61 |
- result = self.env.run('migrate version %s' % repos_path)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version %s' % repos_path)
|
|
|
5613a61 |
return int(result.stdout.strip())
|
|
|
5613a61 |
|
|
|
5613a61 |
def run_db_version(self, url, repos_path):
|
|
|
5613a61 |
- result = self.env.run('migrate db_version %s %s' % (url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate db_version %s %s' % (url, repos_path))
|
|
|
5613a61 |
return int(result.stdout.strip())
|
|
|
a8e437d |
diff -Naur sqlalchemy-migrate-0.9.1.orig/migrate/tests/versioning/test_shell.py sqlalchemy-migrate-0.9.1/migrate/tests/versioning/test_shell.py
|
|
|
a8e437d |
--- sqlalchemy-migrate-0.9.1.orig/migrate/tests/versioning/test_shell.py 2014-06-13 11:53:21.259436263 +0000
|
|
|
a8e437d |
+++ sqlalchemy-migrate-0.9.1/migrate/tests/versioning/test_shell.py 2014-06-13 18:14:08.404009872 +0000
|
|
|
a8e437d |
@@ -21,15 +21,15 @@
|
|
|
5613a61 |
|
|
|
5613a61 |
def test_help(self):
|
|
|
5613a61 |
"""Displays default help dialog"""
|
|
|
5613a61 |
- self.assertEqual(self.env.run('migrate -h').returncode, 0)
|
|
|
5613a61 |
- self.assertEqual(self.env.run('migrate --help').returncode, 0)
|
|
|
5613a61 |
- self.assertEqual(self.env.run('migrate help').returncode, 0)
|
|
|
5613a61 |
+ self.assertEqual(self.env.run('sqlalchemy-migrate -h').returncode, 0)
|
|
|
5613a61 |
+ self.assertEqual(self.env.run('sqlalchemy-migrate --help').returncode, 0)
|
|
|
5613a61 |
+ self.assertEqual(self.env.run('sqlalchemy-migrate help').returncode, 0)
|
|
|
5613a61 |
|
|
|
5613a61 |
def test_help_commands(self):
|
|
|
5613a61 |
"""Display help on a specific command"""
|
|
|
5613a61 |
# we can only test that we get some output
|
|
|
5613a61 |
for cmd in api.__all__:
|
|
|
5613a61 |
- result = self.env.run('migrate help %s' % cmd)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate help %s' % cmd)
|
|
|
a8e437d |
self.assertTrue(isinstance(result.stdout, six.string_types))
|
|
|
5613a61 |
self.assertTrue(result.stdout)
|
|
|
5613a61 |
self.assertFalse(result.stderr)
|
|
|
a8e437d |
@@ -37,10 +37,10 @@
|
|
|
5613a61 |
def test_shutdown_logging(self):
|
|
|
5613a61 |
"""Try to shutdown logging output"""
|
|
|
5613a61 |
repos = self.tmp_repos()
|
|
|
5613a61 |
- result = self.env.run('migrate create %s repository_name' % repos)
|
|
|
5613a61 |
- result = self.env.run('migrate version %s --disable_logging' % repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create %s repository_name' % repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version %s --disable_logging' % repos)
|
|
|
5613a61 |
self.assertEqual(result.stdout, '')
|
|
|
5613a61 |
- result = self.env.run('migrate version %s -q' % repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version %s -q' % repos)
|
|
|
5613a61 |
self.assertEqual(result.stdout, '')
|
|
|
5613a61 |
|
|
|
5613a61 |
# TODO: assert logging messages to 0
|
|
|
a8e437d |
@@ -94,7 +94,7 @@
|
|
|
5613a61 |
repos = self.tmp_repos()
|
|
|
5613a61 |
|
|
|
5613a61 |
# Creating a file that doesn't exist should succeed
|
|
|
5613a61 |
- result = self.env.run('migrate create %s repository_name' % repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create %s repository_name' % repos)
|
|
|
5613a61 |
|
|
|
5613a61 |
# Files should actually be created
|
|
|
a8e437d |
self.assertTrue(os.path.exists(repos))
|
|
|
a8e437d |
@@ -104,35 +104,35 @@
|
|
|
5613a61 |
self.assertNotEquals(repos_.config.get('db_settings', 'version_table'), 'None')
|
|
|
5613a61 |
|
|
|
5613a61 |
# Can't create it again: it already exists
|
|
|
5613a61 |
- result = self.env.run('migrate create %s repository_name' % repos,
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create %s repository_name' % repos,
|
|
|
5613a61 |
expect_error=True)
|
|
|
5613a61 |
self.assertEqual(result.returncode, 2)
|
|
|
a8e437d |
|
|
|
5613a61 |
def test_script(self):
|
|
|
5613a61 |
"""We can create a migration script via the command line"""
|
|
|
5613a61 |
repos = self.tmp_repos()
|
|
|
5613a61 |
- result = self.env.run('migrate create %s repository_name' % repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create %s repository_name' % repos)
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate script --repository=%s Desc' % repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate script --repository=%s Desc' % repos)
|
|
|
a8e437d |
self.assertTrue(os.path.exists('%s/versions/001_Desc.py' % repos))
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate script More %s' % repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate script More %s' % repos)
|
|
|
a8e437d |
self.assertTrue(os.path.exists('%s/versions/002_More.py' % repos))
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate script "Some Random name" %s' % repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate script "Some Random name" %s' % repos)
|
|
|
a8e437d |
self.assertTrue(os.path.exists('%s/versions/003_Some_Random_name.py' % repos))
|
|
|
5613a61 |
|
|
|
5613a61 |
def test_script_sql(self):
|
|
|
5613a61 |
"""We can create a migration sql script via the command line"""
|
|
|
5613a61 |
repos = self.tmp_repos()
|
|
|
5613a61 |
- result = self.env.run('migrate create %s repository_name' % repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create %s repository_name' % repos)
|
|
|
5613a61 |
|
|
|
edccf8a |
- result = self.env.run('migrate script_sql mydb foo %s' % repos)
|
|
|
edccf8a |
+ result = self.env.run('sqlalchemy-migrate script_sql mydb foo %s' % repos)
|
|
|
a8e437d |
self.assertTrue(os.path.exists('%s/versions/001_foo_mydb_upgrade.sql' % repos))
|
|
|
a8e437d |
self.assertTrue(os.path.exists('%s/versions/001_foo_mydb_downgrade.sql' % repos))
|
|
|
5613a61 |
|
|
|
5613a61 |
# Test creating a second
|
|
|
edccf8a |
- result = self.env.run('migrate script_sql postgres foo --repository=%s' % repos)
|
|
|
edccf8a |
+ result = self.env.run('sqlalchemy-migrate script_sql postgres foo --repository=%s' % repos)
|
|
|
a8e437d |
self.assertTrue(os.path.exists('%s/versions/002_foo_postgres_upgrade.sql' % repos))
|
|
|
a8e437d |
self.assertTrue(os.path.exists('%s/versions/002_foo_postgres_downgrade.sql' % repos))
|
|
|
5613a61 |
|
|
|
a8e437d |
@@ -144,7 +144,7 @@
|
|
|
a8e437d |
self.assertTrue(not os.path.exists(script))
|
|
|
5613a61 |
|
|
|
5613a61 |
# No attempt is made to verify correctness of the repository path here
|
|
|
5613a61 |
- result = self.env.run('migrate manage %s --repository=/bla/' % script)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate manage %s --repository=/bla/' % script)
|
|
|
a8e437d |
self.assertTrue(os.path.exists(script))
|
|
|
5613a61 |
|
|
|
5613a61 |
|
|
|
a8e437d |
@@ -155,41 +155,41 @@
|
|
|
5613a61 |
"""Create repository, python change script"""
|
|
|
5613a61 |
super(TestShellRepository, self).setUp()
|
|
|
5613a61 |
self.path_repos = self.tmp_repos()
|
|
|
5613a61 |
- result = self.env.run('migrate create %s repository_name' % self.path_repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create %s repository_name' % self.path_repos)
|
|
|
5613a61 |
|
|
|
5613a61 |
def test_version(self):
|
|
|
5613a61 |
"""Correctly detect repository version"""
|
|
|
5613a61 |
# Version: 0 (no scripts yet); successful execution
|
|
|
5613a61 |
- result = self.env.run('migrate version --repository=%s' % self.path_repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version --repository=%s' % self.path_repos)
|
|
|
5613a61 |
self.assertEqual(result.stdout.strip(), "0")
|
|
|
5613a61 |
|
|
|
5613a61 |
# Also works as a positional param
|
|
|
5613a61 |
- result = self.env.run('migrate version %s' % self.path_repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version %s' % self.path_repos)
|
|
|
5613a61 |
self.assertEqual(result.stdout.strip(), "0")
|
|
|
5613a61 |
|
|
|
5613a61 |
# Create a script and version should increment
|
|
|
5613a61 |
- result = self.env.run('migrate script Desc %s' % self.path_repos)
|
|
|
5613a61 |
- result = self.env.run('migrate version %s' % self.path_repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate script Desc %s' % self.path_repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version %s' % self.path_repos)
|
|
|
5613a61 |
self.assertEqual(result.stdout.strip(), "1")
|
|
|
5613a61 |
|
|
|
5613a61 |
def test_source(self):
|
|
|
5613a61 |
"""Correctly fetch a script's source"""
|
|
|
5613a61 |
- result = self.env.run('migrate script Desc --repository=%s' % self.path_repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate script Desc --repository=%s' % self.path_repos)
|
|
|
5613a61 |
|
|
|
5613a61 |
filename = '%s/versions/001_Desc.py' % self.path_repos
|
|
|
5613a61 |
source = open(filename).read()
|
|
|
a8e437d |
self.assertTrue(source.find('def upgrade') >= 0)
|
|
|
5613a61 |
|
|
|
5613a61 |
# Version is now 1
|
|
|
5613a61 |
- result = self.env.run('migrate version %s' % self.path_repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version %s' % self.path_repos)
|
|
|
5613a61 |
self.assertEqual(result.stdout.strip(), "1")
|
|
|
5613a61 |
|
|
|
5613a61 |
# Output/verify the source of version 1
|
|
|
5613a61 |
- result = self.env.run('migrate source 1 --repository=%s' % self.path_repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate source 1 --repository=%s' % self.path_repos)
|
|
|
5613a61 |
self.assertEqual(result.stdout.strip(), source.strip())
|
|
|
5613a61 |
|
|
|
5613a61 |
# We can also send the source to a file... test that too
|
|
|
5613a61 |
- result = self.env.run('migrate source 1 %s --repository=%s' %
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate source 1 %s --repository=%s' %
|
|
|
5613a61 |
(filename, self.path_repos))
|
|
|
a8e437d |
self.assertTrue(os.path.exists(filename))
|
|
|
5613a61 |
fd = open(filename)
|
|
|
a8e437d |
@@ -209,17 +209,17 @@
|
|
|
5613a61 |
"""Ensure we can set version control on a database"""
|
|
|
5613a61 |
path_repos = repos = self.tmp_repos()
|
|
|
5613a61 |
url = self.url
|
|
|
5613a61 |
- result = self.env.run('migrate create %s repository_name' % repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create %s repository_name' % repos)
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate drop_version_control %(url)s %(repos)s'\
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate drop_version_control %(url)s %(repos)s'\
|
|
|
5613a61 |
% locals(), expect_error=True)
|
|
|
5613a61 |
self.assertEqual(result.returncode, 1)
|
|
|
5613a61 |
- result = self.env.run('migrate version_control %(url)s %(repos)s' % locals())
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version_control %(url)s %(repos)s' % locals())
|
|
|
5613a61 |
|
|
|
5613a61 |
# Clean up
|
|
|
5613a61 |
- result = self.env.run('migrate drop_version_control %(url)s %(repos)s' % locals())
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate drop_version_control %(url)s %(repos)s' % locals())
|
|
|
5613a61 |
# Attempting to drop vc from a database without it should fail
|
|
|
5613a61 |
- result = self.env.run('migrate drop_version_control %(url)s %(repos)s'\
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate drop_version_control %(url)s %(repos)s'\
|
|
|
5613a61 |
% locals(), expect_error=True)
|
|
|
5613a61 |
self.assertEqual(result.returncode, 1)
|
|
|
5613a61 |
|
|
|
a8e437d |
@@ -228,41 +228,41 @@
|
|
|
5613a61 |
"""Commands with default arguments set by manage.py"""
|
|
|
5613a61 |
path_repos = repos = self.tmp_repos()
|
|
|
5613a61 |
url = self.url
|
|
|
5613a61 |
- result = self.env.run('migrate create --name=repository_name %s' % repos)
|
|
|
5613a61 |
- result = self.env.run('migrate drop_version_control %(url)s %(repos)s' % locals(), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create --name=repository_name %s' % repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate drop_version_control %(url)s %(repos)s' % locals(), expect_error=True)
|
|
|
5613a61 |
self.assertEqual(result.returncode, 1)
|
|
|
5613a61 |
- result = self.env.run('migrate version_control %(url)s %(repos)s' % locals())
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version_control %(url)s %(repos)s' % locals())
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate drop_version_control %(url)s %(repos)s' % locals())
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate drop_version_control %(url)s %(repos)s' % locals())
|
|
|
5613a61 |
|
|
|
5613a61 |
@usedb()
|
|
|
5613a61 |
def test_version_control_specified(self):
|
|
|
5613a61 |
"""Ensure we can set version control to a particular version"""
|
|
|
5613a61 |
path_repos = self.tmp_repos()
|
|
|
5613a61 |
url = self.url
|
|
|
5613a61 |
- result = self.env.run('migrate create --name=repository_name %s' % path_repos)
|
|
|
5613a61 |
- result = self.env.run('migrate drop_version_control %(url)s %(path_repos)s' % locals(), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create --name=repository_name %s' % path_repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate drop_version_control %(url)s %(path_repos)s' % locals(), expect_error=True)
|
|
|
5613a61 |
self.assertEqual(result.returncode, 1)
|
|
|
5613a61 |
|
|
|
5613a61 |
# Fill the repository
|
|
|
5613a61 |
path_script = self.tmp_py()
|
|
|
5613a61 |
version = 2
|
|
|
5613a61 |
for i in range(version):
|
|
|
5613a61 |
- result = self.env.run('migrate script Desc --repository=%s' % path_repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate script Desc --repository=%s' % path_repos)
|
|
|
5613a61 |
|
|
|
5613a61 |
# Repository version is correct
|
|
|
5613a61 |
- result = self.env.run('migrate version %s' % path_repos)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version %s' % path_repos)
|
|
|
5613a61 |
self.assertEqual(result.stdout.strip(), str(version))
|
|
|
5613a61 |
|
|
|
5613a61 |
# Apply versioning to DB
|
|
|
5613a61 |
- result = self.env.run('migrate version_control %(url)s %(path_repos)s %(version)s' % locals())
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version_control %(url)s %(path_repos)s %(version)s' % locals())
|
|
|
5613a61 |
|
|
|
5613a61 |
# Test db version number (should start at 2)
|
|
|
5613a61 |
- result = self.env.run('migrate db_version %(url)s %(path_repos)s' % locals())
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate db_version %(url)s %(path_repos)s' % locals())
|
|
|
5613a61 |
self.assertEqual(result.stdout.strip(), str(version))
|
|
|
5613a61 |
|
|
|
5613a61 |
# Clean up
|
|
|
5613a61 |
- result = self.env.run('migrate drop_version_control %(url)s %(path_repos)s' % locals())
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate drop_version_control %(url)s %(path_repos)s' % locals())
|
|
|
5613a61 |
|
|
|
5613a61 |
@usedb()
|
|
|
5613a61 |
def test_upgrade(self):
|
|
|
a8e437d |
@@ -270,67 +270,67 @@
|
|
|
5613a61 |
# Create a repository
|
|
|
5613a61 |
repos_name = 'repos_name'
|
|
|
5613a61 |
repos_path = self.tmp()
|
|
|
5613a61 |
- result = self.env.run('migrate create %(repos_path)s %(repos_name)s' % locals())
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create %(repos_path)s %(repos_name)s' % locals())
|
|
|
ea60125 |
self.assertEqual(self.run_version(repos_path), 0)
|
|
|
5613a61 |
|
|
|
5613a61 |
# Version the DB
|
|
|
5613a61 |
- result = self.env.run('migrate drop_version_control %s %s' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
- result = self.env.run('migrate version_control %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate drop_version_control %s %s' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version_control %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
|
|
|
5613a61 |
# Upgrades with latest version == 0
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
5613a61 |
- result = self.env.run('migrate upgrade %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate upgrade %s %s' % (self.url, repos_path))
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
5613a61 |
- result = self.env.run('migrate upgrade %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate upgrade %s %s' % (self.url, repos_path))
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
5613a61 |
- result = self.env.run('migrate upgrade %s %s 1' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate upgrade %s %s 1' % (self.url, repos_path), expect_error=True)
|
|
|
ea60125 |
self.assertEqual(result.returncode, 1)
|
|
|
5613a61 |
- result = self.env.run('migrate upgrade %s %s -1' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate upgrade %s %s -1' % (self.url, repos_path), expect_error=True)
|
|
|
ea60125 |
self.assertEqual(result.returncode, 2)
|
|
|
5613a61 |
|
|
|
5613a61 |
# Add a script to the repository; upgrade the db
|
|
|
5613a61 |
- result = self.env.run('migrate script Desc --repository=%s' % (repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate script Desc --repository=%s' % (repos_path))
|
|
|
ea60125 |
self.assertEqual(self.run_version(repos_path), 1)
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
5613a61 |
|
|
|
5613a61 |
# Test preview
|
|
|
5613a61 |
- result = self.env.run('migrate upgrade %s %s 0 --preview_sql' % (self.url, repos_path))
|
|
|
5613a61 |
- result = self.env.run('migrate upgrade %s %s 0 --preview_py' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate upgrade %s %s 0 --preview_sql' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate upgrade %s %s 0 --preview_py' % (self.url, repos_path))
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate upgrade %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate upgrade %s %s' % (self.url, repos_path))
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 1)
|
|
|
a8e437d |
|
|
|
5613a61 |
# Downgrade must have a valid version specified
|
|
|
5613a61 |
- result = self.env.run('migrate downgrade %s %s' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate downgrade %s %s' % (self.url, repos_path), expect_error=True)
|
|
|
ea60125 |
self.assertEqual(result.returncode, 2)
|
|
|
5613a61 |
- result = self.env.run('migrate downgrade %s %s -1' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate downgrade %s %s -1' % (self.url, repos_path), expect_error=True)
|
|
|
ea60125 |
self.assertEqual(result.returncode, 2)
|
|
|
5613a61 |
- result = self.env.run('migrate downgrade %s %s 2' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate downgrade %s %s 2' % (self.url, repos_path), expect_error=True)
|
|
|
ea60125 |
self.assertEqual(result.returncode, 2)
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 1)
|
|
|
a8e437d |
|
|
|
5613a61 |
- result = self.env.run('migrate downgrade %s %s 0' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate downgrade %s %s 0' % (self.url, repos_path))
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
a8e437d |
|
|
|
5613a61 |
- result = self.env.run('migrate downgrade %s %s 1' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate downgrade %s %s 1' % (self.url, repos_path), expect_error=True)
|
|
|
ea60125 |
self.assertEqual(result.returncode, 2)
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate drop_version_control %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate drop_version_control %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
|
|
|
5613a61 |
def _run_test_sqlfile(self, upgrade_script, downgrade_script):
|
|
|
5613a61 |
# TODO: add test script that checks if db really changed
|
|
|
5613a61 |
repos_path = self.tmp()
|
|
|
5613a61 |
repos_name = 'repos'
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate create %s %s' % (repos_path, repos_name))
|
|
|
5613a61 |
- result = self.env.run('migrate drop_version_control %s %s' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
- result = self.env.run('migrate version_control %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create %s %s' % (repos_path, repos_name))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate drop_version_control %s %s' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version_control %s %s' % (self.url, repos_path))
|
|
|
ea60125 |
self.assertEqual(self.run_version(repos_path), 0)
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
5613a61 |
|
|
|
5613a61 |
beforeCount = len(os.listdir(os.path.join(repos_path, 'versions'))) # hmm, this number changes sometimes based on running from svn
|
|
|
5613a61 |
- result = self.env.run('migrate script_sql %s --repository=%s' % ('postgres', repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate script_sql %s --repository=%s' % ('postgres', repos_path))
|
|
|
ea60125 |
self.assertEqual(self.run_version(repos_path), 1)
|
|
|
ea60125 |
self.assertEqual(len(os.listdir(os.path.join(repos_path, 'versions'))), beforeCount + 2)
|
|
|
5613a61 |
|
|
|
a8e437d |
@@ -340,11 +340,11 @@
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
5613a61 |
self.assertRaises(Exception, self.engine.text('select * from t_table').execute)
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate upgrade %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate upgrade %s %s' % (self.url, repos_path))
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 1)
|
|
|
5613a61 |
self.engine.text('select * from t_table').execute()
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate downgrade %s %s 0' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate downgrade %s %s 0' % (self.url, repos_path))
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
5613a61 |
self.assertRaises(Exception, self.engine.text('select * from t_table').execute)
|
|
|
5613a61 |
|
|
|
a8e437d |
@@ -384,15 +384,15 @@
|
|
|
5613a61 |
repos_name = 'repos_name'
|
|
|
5613a61 |
repos_path = self.tmp()
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate create repository_name --repository=%s' % repos_path)
|
|
|
5613a61 |
- result = self.env.run('migrate drop_version_control %s %s' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
- result = self.env.run('migrate version_control %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create repository_name --repository=%s' % repos_path)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate drop_version_control %s %s' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version_control %s %s' % (self.url, repos_path))
|
|
|
ea60125 |
self.assertEqual(self.run_version(repos_path), 0)
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
5613a61 |
|
|
|
5613a61 |
# Empty script should succeed
|
|
|
5613a61 |
- result = self.env.run('migrate script Desc %s' % repos_path)
|
|
|
5613a61 |
- result = self.env.run('migrate test %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate script Desc %s' % repos_path)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate test %s %s' % (self.url, repos_path))
|
|
|
ea60125 |
self.assertEqual(self.run_version(repos_path), 1)
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
5613a61 |
|
|
|
a8e437d |
@@ -414,7 +414,7 @@
|
|
|
5613a61 |
file.write(script_text)
|
|
|
5613a61 |
file.close()
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate test %s %s bla' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate test %s %s bla' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
self.assertEqual(result.returncode, 2)
|
|
|
ea60125 |
self.assertEqual(self.run_version(repos_path), 1)
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
a8e437d |
@@ -445,7 +445,7 @@
|
|
|
5613a61 |
file = open(script_path, 'w')
|
|
|
5613a61 |
file.write(script_text)
|
|
|
5613a61 |
file.close()
|
|
|
5613a61 |
- result = self.env.run('migrate test %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate test %s %s' % (self.url, repos_path))
|
|
|
ea60125 |
self.assertEqual(self.run_version(repos_path), 1)
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
a8e437d |
|
|
|
a8e437d |
@@ -465,19 +465,19 @@
|
|
|
5613a61 |
self.meta.reflect()
|
|
|
5613a61 |
self.meta.drop_all() # in case junk tables are lying around in the test database
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate create %s %s' % (repos_path, repos_name))
|
|
|
5613a61 |
- result = self.env.run('migrate drop_version_control %s %s' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
- result = self.env.run('migrate version_control %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create %s %s' % (repos_path, repos_name))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate drop_version_control %s %s' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version_control %s %s' % (self.url, repos_path))
|
|
|
ea60125 |
self.assertEqual(self.run_version(repos_path), 0)
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0)
|
|
|
5613a61 |
|
|
|
5613a61 |
# Setup helper script.
|
|
|
5613a61 |
- result = self.env.run('migrate manage %s --repository=%s --url=%s --model=%s'\
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate manage %s --repository=%s --url=%s --model=%s'\
|
|
|
5613a61 |
% (script_path, repos_path, self.url, model_module))
|
|
|
a8e437d |
self.assertTrue(os.path.exists(script_path))
|
|
|
5613a61 |
|
|
|
5613a61 |
# Model is defined but database is empty.
|
|
|
5613a61 |
- result = self.env.run('migrate compare_model_to_db %s %s --model=%s' \
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate compare_model_to_db %s %s --model=%s' \
|
|
|
5613a61 |
% (self.url, repos_path, model_module))
|
|
|
a8e437d |
self.assertTrue("tables missing from database: tmp_account_rundiffs" in result.stdout)
|
|
|
5613a61 |
|
|
|
a8e437d |
@@ -487,7 +487,7 @@
|
|
|
731cb66 |
else:
|
|
|
731cb66 |
warnings = None
|
|
|
731cb66 |
self.env.environ['PYTHONWARNINGS'] = 'default'
|
|
|
5613a61 |
- result = self.env.run('migrate compare_model_to_db %s %s --model=%s' \
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate compare_model_to_db %s %s --model=%s' \
|
|
|
5613a61 |
% (self.url, repos_path, model_module.replace(":", ".")), expect_error=True)
|
|
|
731cb66 |
if warnings == None:
|
|
|
731cb66 |
del(self.env.environ['PYTHONWARNINGS'])
|
|
|
a8e437d |
@@ -499,19 +499,19 @@
|
|
|
a8e437d |
self.assertTrue("tables missing from database: tmp_account_rundiffs" in result.stdout)
|
|
|
5613a61 |
|
|
|
5613a61 |
# Update db to latest model.
|
|
|
5613a61 |
- result = self.env.run('migrate update_db_from_model %s %s %s'\
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate update_db_from_model %s %s %s'\
|
|
|
5613a61 |
% (self.url, repos_path, model_module))
|
|
|
ea60125 |
self.assertEqual(self.run_version(repos_path), 0)
|
|
|
ea60125 |
self.assertEqual(self.run_db_version(self.url, repos_path), 0) # version did not get bumped yet because new version not yet created
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate compare_model_to_db %s %s %s'\
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate compare_model_to_db %s %s %s'\
|
|
|
5613a61 |
% (self.url, repos_path, model_module))
|
|
|
a8e437d |
self.assertTrue("No schema diffs" in result.stdout)
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate drop_version_control %s %s' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
- result = self.env.run('migrate version_control %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate drop_version_control %s %s' % (self.url, repos_path), expect_error=True)
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate version_control %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
|
|
|
5613a61 |
- result = self.env.run('migrate create_model %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
+ result = self.env.run('sqlalchemy-migrate create_model %s %s' % (self.url, repos_path))
|
|
|
5613a61 |
temp_dict = dict()
|
|
|
a8e437d |
six.exec_(result.stdout, temp_dict)
|
|
|
5613a61 |
|
|
|
a8e437d |
@@ -525,10 +525,10 @@
|
|
|
5613a61 |
##Column('passwd', String(length=None, convert_unicode=False, assert_unicode=None))""" in result.stdout)
|
|
|
5613a61 |
|
|
|
5613a61 |
## We're happy with db changes, make first db upgrade script to go from version 0 -> 1.
|
|
|
5613a61 |
- #result = self.env.run('migrate make_update_script_for_model', expect_error=True)
|
|
|
5613a61 |
+ #result = self.env.run('sqlalchemy-migrate make_update_script_for_model', expect_error=True)
|
|
|
5613a61 |
#self.assertTrue('Not enough arguments' in result.stderr)
|
|
|
5613a61 |
|
|
|
5613a61 |
- #result_script = self.env.run('migrate make_update_script_for_model %s %s %s %s'\
|
|
|
5613a61 |
+ #result_script = self.env.run('sqlalchemy-migrate make_update_script_for_model %s %s %s %s'\
|
|
|
5613a61 |
#% (self.url, repos_path, old_model_module, model_module))
|
|
|
ea60125 |
#self.assertEqualIgnoreWhitespace(result_script.stdout,
|
|
|
5613a61 |
#'''from sqlalchemy import *
|
|
|
a8e437d |
@@ -555,11 +555,11 @@
|
|
|
731cb66 |
#tmp_account_rundiffs.drop()''')
|
|
|
a8e437d |
|
|
|
731cb66 |
## Save the upgrade script.
|
|
|
731cb66 |
- #result = self.env.run('migrate script Desc %s' % repos_path)
|
|
|
731cb66 |
+ #result = self.env.run('sqlalchemy-migrate script Desc %s' % repos_path)
|
|
|
731cb66 |
#upgrade_script_path = '%s/versions/001_Desc.py' % repos_path
|
|
|
731cb66 |
#open(upgrade_script_path, 'w').write(result_script.stdout)
|
|
|
731cb66 |
|
|
|
731cb66 |
- #result = self.env.run('migrate compare_model_to_db %s %s %s'\
|
|
|
731cb66 |
+ #result = self.env.run('sqlalchemy-migrate compare_model_to_db %s %s %s'\
|
|
|
731cb66 |
#% (self.url, repos_path, model_module))
|
|
|
a8e437d |
#self.assertTrue("No schema diffs" in result.stdout)
|
|
|
731cb66 |
|
|
|
a8e437d |
diff -Naur sqlalchemy-migrate-0.9.1.orig/setup.cfg sqlalchemy-migrate-0.9.1/setup.cfg
|
|
|
a8e437d |
--- sqlalchemy-migrate-0.9.1.orig/setup.cfg 2014-05-06 14:40:25.000000000 +0000
|
|
|
a8e437d |
+++ sqlalchemy-migrate-0.9.1/setup.cfg 2014-06-13 18:09:14.150005083 +0000
|
|
|
ea60125 |
@@ -23,8 +23,8 @@
|
|
|
ea60125 |
|
|
|
ea60125 |
[entry_points]
|
|
|
ea60125 |
console_scripts =
|
|
|
ea60125 |
- migrate = migrate.versioning.shell:main
|
|
|
ea60125 |
- migrate-repository = migrate.versioning.migrate_repository:main
|
|
|
ea60125 |
+ sqlalchemy-migrate = migrate.versioning.shell:main
|
|
|
ea60125 |
+ sqlalchemy-migrate-repository = migrate.versioning.migrate_repository:main
|
|
|
ea60125 |
|
|
|
ea60125 |
[build_sphinx]
|
|
|
ea60125 |
all_files = 1
|