0.10.0 release
This is the same hash as the 0.9.8 tag which should have been 0.10.0 given the dependency update on pbr, so don't use 0.9.8 as it breaks stable/kilo. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAABAgAGBQJV5MEuAAoJEJ8r0bQdBysrdXcH/id/Dv9tqUSRqXyhMsNkS31u uEx8BFj1nVVv0GrPnt6V19pTnowtx3kegbA9jbLIXgc2dB6wttl59fbyaHe0tTBT 0vVTy3rb0uQm+p6brWbUtEN0E4t1T8pdWtIG70EfzLZGFZtmivw9KqHoG4q+iqJA HfcaCvMQ6XkKCwmYFRlESc25Xx1iFl1MGexO+ES2Pnrc17eChYniTUjFhhy16caZ Lf8YeE9gAoIMdSAK177uCOB8/P6qk+MgHYtE2S6p7yPquyi2M13tmrtvAs+rJprf XKN6X1tlfYlkhDF484NaPQBHLpME60nDKNlINoL7eR0dLjmiZKtvX6516gC24X0= =a9Rs -----END PGP SIGNATURE----- Merge tag '0.10.0' into debian/liberty 0.10.0 release This is the same hash as the 0.9.8 tag which should have been 0.10.0 given the dependency update on pbr, so don't use 0.9.8 as it breaks stable/kilo.
This commit is contained in:
commit
43342f021f
22
README.rst
22
README.rst
|
@ -14,15 +14,16 @@ well as from inside python code.
|
|||
Help
|
||||
----
|
||||
|
||||
Sphinx documentation is available at the project page `packages.python.org
|
||||
<http://packages.python.org/sqlalchemy-migrate/>`_.
|
||||
Sphinx documentation is available at the project page `readthedocs.org
|
||||
<https://sqlalchemy-migrate.readthedocs.org/>`_.
|
||||
|
||||
Users and developers can be found at #sqlalchemy-migrate on Freenode IRC
|
||||
Users and developers can be found at #openstack-dev on Freenode IRC
|
||||
network and at the public users mailing list `migrate-users
|
||||
<http://groups.google.com/group/migrate-users>`_.
|
||||
|
||||
New releases and major changes are announced at the public announce mailing
|
||||
list `migrate-announce <http://groups.google.com/group/migrate-announce>`_
|
||||
list `openstack-dev
|
||||
<http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>`_
|
||||
and at the Python package index `sqlalchemy-migrate
|
||||
<http://pypi.python.org/pypi/sqlalchemy-migrate>`_.
|
||||
|
||||
|
@ -37,13 +38,10 @@ Tests and Bugs
|
|||
|
||||
To run automated tests:
|
||||
|
||||
* Copy test_db.cfg.tmpl to test_db.cfg
|
||||
* Edit test_db.cfg with database connection strings suitable for running tests.
|
||||
(Use empty databases.)
|
||||
* $ pip install -r requirements.txt -r test-requirements.txt
|
||||
* $ python setup.py develop
|
||||
* $ testr run --parallel
|
||||
* install tox: ``pip install -U tox``
|
||||
* run tox: ``tox``
|
||||
* to test only a specific Python version: ``tox -e py27`` (Python 2.7)
|
||||
|
||||
Please report any issues with sqlalchemy-migrate to the issue tracker at
|
||||
`code.google.com issues
|
||||
<http://code.google.com/p/sqlalchemy-migrate/issues/list>`_
|
||||
`Launchpad issues
|
||||
<https://bugs.launchpad.net/sqlalchemy-migrate>`_
|
||||
|
|
|
@ -21,51 +21,32 @@ command use::
|
|||
$ migrate help COMMAND
|
||||
|
||||
If you'd like to be notified when new versions of SQLAlchemy Migrate
|
||||
are released, subscribe to `migrate-announce`_.
|
||||
are released, subscribe to `openstack-dev`_.
|
||||
|
||||
.. _pip: http://pip.openplans.org/
|
||||
.. _easy_install: http://peak.telecommunity.com/DevCenter/EasyInstall#installing-easy-install
|
||||
.. _sqlalchemy: http://www.sqlalchemy.org/download.html
|
||||
.. _`project's download page`: http://code.google.com/p/sqlalchemy-migrate/downloads/list
|
||||
.. _`cheese shop`: http://pypi.python.org/pypi/sqlalchemy-migrate
|
||||
.. _`migrate-announce`: http://groups.google.com/group/migrate-announce
|
||||
.. _`openstack-dev`: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
|
||||
|
||||
.. _development:
|
||||
|
||||
Development
|
||||
-----------
|
||||
|
||||
Migrate's Mercurial_ repository is located at `Google Code`_.
|
||||
If you would like to contribute to the development of OpenStack,
|
||||
you must follow the steps in this page:
|
||||
|
||||
To get the latest trunk::
|
||||
http://docs.openstack.org/infra/manual/developers.html
|
||||
|
||||
$ hg clone http://sqlalchemy-migrate.googlecode.com/hg/
|
||||
Once those steps have been completed, changes to OpenStack
|
||||
should be submitted for review via the Gerrit tool, following
|
||||
the workflow documented at:
|
||||
|
||||
Patches should be submitted to the `issue tracker`_. You are free to create
|
||||
your own clone to provide your patches. We are open to pull requests in our
|
||||
`issue tracker`_.
|
||||
http://docs.openstack.org/infra/manual/developers.html#development-workflow
|
||||
|
||||
If you want to work on sqlalchemy-migrate you might want to use a `virtualenv`.
|
||||
Pull requests submitted through GitHub will be ignored.
|
||||
|
||||
To run the included test suite you have to copy :file:`test_db.cfg.tmpl` to
|
||||
:file:`test_db.cfg` and put SQLAlchemy database URLs valid for your environment
|
||||
into that file. We use `nose`_ for our tests and include a test requirements
|
||||
file for pip. You might use the following commands to install the test
|
||||
requirements and run the tests::
|
||||
Bugs should be filed on Launchpad, not GitHub:
|
||||
|
||||
$ pip install -r test-req.pip
|
||||
$ python setup.py develop
|
||||
$ python setup.py nosetests
|
||||
|
||||
If you are curious about status changes of sqlalchemy-migrate's issues you
|
||||
might want to subscribe to `sqlalchemy-migrate-issues`_.
|
||||
|
||||
We use a `Jenkins CI`_ continuous integration tool installation to
|
||||
help us run tests on most of the databases that migrate supports.
|
||||
|
||||
.. _Mercurial: http://www.mercurial-scm.org/
|
||||
.. _Google Code: http://sqlalchemy-migrate.googlecode.com/hg/
|
||||
.. _issue tracker: http://code.google.com/p/sqlalchemy-migrate/issues/list
|
||||
.. _sqlalchemy-migrate-issues: http://groups.google.com/group/sqlalchemy-migrate-issues
|
||||
.. _Jenkins CI: http://jenkins.gnuviech-server.de/job/sqlalchemy-migrate-all/
|
||||
.. _nose: http://readthedocs.org/docs/nose/
|
||||
https://bugs.launchpad.net/sqlalchemy-migrate
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
:Author: Evan Rosson
|
||||
:Maintainer: Domen Kožar <domenNO@SPAMdev.si>
|
||||
:Maintainer: Jan Dittberner <jan.dittbernerNO@SPAMgooglemail.com>
|
||||
:Issues: http://code.google.com/p/sqlalchemy-migrate/issues/list
|
||||
:Source Code: http://code.google.com/p/sqlalchemy-migrate/
|
||||
:CI Tool: http://jenkins.gnuviech-server.de/job/sqlalchemy-migrate-all/
|
||||
:Source Code: https://github.com/stackforge/sqlalchemy-migrate
|
||||
:Documentation: https://sqlalchemy-migrate.readthedocs.org/
|
||||
:Issues: https://bugs.launchpad.net/sqlalchemy-migrate
|
||||
:Generated: |today|
|
||||
:License: MIT
|
||||
:Version: |release|
|
||||
|
@ -24,7 +24,7 @@
|
|||
mentored by Jonathan LaCour.
|
||||
|
||||
The project was taken over by a small group of volunteers when Evan had no
|
||||
free time for the project. It is now hosted as a `Google Code project`_.
|
||||
free time for the project. It is now hosted as a `Github project`_.
|
||||
During the hosting change the project was renamed to SQLAlchemy Migrate.
|
||||
|
||||
Currently, sqlalchemy-migrate supports Python versions from 2.6 to 2.7.
|
||||
|
@ -64,6 +64,7 @@ Dialect support
|
|||
- :ref:`oracle <oracle-d>`
|
||||
- :ref:`firebird <firebird-d>`
|
||||
- mssql
|
||||
- DB2
|
||||
* - :ref:`ALTER TABLE RENAME TABLE <table-rename>`
|
||||
- yes
|
||||
- yes
|
||||
|
@ -160,7 +161,7 @@ SQLAlchemy Migrate is split into two parts, database schema versioning
|
|||
glossary
|
||||
|
||||
.. _`google's summer of code`: http://code.google.com/soc
|
||||
.. _`Google Code project`: http://code.google.com/p/sqlalchemy-migrate
|
||||
.. _`Github project`: https://github.com/stackforge/sqlalchemy-migrate
|
||||
.. _sqlalchemy: http://www.sqlalchemy.org
|
||||
|
||||
|
||||
|
|
|
@ -69,6 +69,13 @@ class TestVerNum(fixture.Base):
|
|||
self.assertTrue(VerNum(2) >= 1)
|
||||
self.assertFalse(VerNum(1) >= 2)
|
||||
|
||||
def test_int_cast(self):
|
||||
ver = VerNum(3)
|
||||
# test __int__
|
||||
self.assertEqual(int(ver), 3)
|
||||
# test __index__: range() doesn't call __int__
|
||||
self.assertEqual(list(range(ver, ver)), [])
|
||||
|
||||
|
||||
class TestVersion(fixture.Pathed):
|
||||
|
||||
|
|
|
@ -13,13 +13,9 @@ log = logging.getLogger(__name__)
|
|||
|
||||
def usage():
|
||||
"""Gives usage information."""
|
||||
print """Usage: %(prog)s repository-to-migrate
|
||||
|
||||
Upgrade your repository to the new flat format.
|
||||
|
||||
NOTE: You should probably make a backup before running this.
|
||||
""" % {'prog': sys.argv[0]}
|
||||
|
||||
print("Usage: %s repository-to-migrate" % sys.argv[0])
|
||||
print("Upgrade your repository to the new flat format.")
|
||||
print("NOTE: You should probably make a backup before running this.")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
|
|
|
@ -1,18 +1,30 @@
|
|||
import os
|
||||
import sys
|
||||
|
||||
from six.moves import reload_module as reload
|
||||
PY33 = sys.version_info >= (3, 3)
|
||||
|
||||
if PY33:
|
||||
from importlib import machinery
|
||||
else:
|
||||
from six.moves import reload_module as reload
|
||||
|
||||
|
||||
def import_path(fullpath):
|
||||
""" Import a file with full path specification. Allows one to
|
||||
import from anywhere, something __import__ does not do.
|
||||
"""
|
||||
# http://zephyrfalcon.org/weblog/arch_d7_2002_08_31.html
|
||||
path, filename = os.path.split(fullpath)
|
||||
filename, ext = os.path.splitext(filename)
|
||||
sys.path.append(path)
|
||||
module = __import__(filename)
|
||||
reload(module) # Might be out of date during tests
|
||||
del sys.path[-1]
|
||||
return module
|
||||
|
||||
if PY33:
|
||||
name = os.path.splitext(os.path.basename(fullpath))[0]
|
||||
return machinery.SourceFileLoader(
|
||||
name, fullpath).load_module(name)
|
||||
else:
|
||||
# http://zephyrfalcon.org/weblog/arch_d7_2002_08_31.html
|
||||
path, filename = os.path.split(fullpath)
|
||||
filename, ext = os.path.splitext(filename)
|
||||
sys.path.append(path)
|
||||
try:
|
||||
module = __import__(filename)
|
||||
reload(module) # Might be out of date during tests
|
||||
return module
|
||||
finally:
|
||||
del sys.path[-1]
|
||||
|
|
|
@ -65,6 +65,9 @@ class VerNum(object):
|
|||
def __int__(self):
|
||||
return int(self.value)
|
||||
|
||||
def __index__(self):
|
||||
return int(self.value)
|
||||
|
||||
if six.PY3:
|
||||
def __hash__(self):
|
||||
return hash(self.value)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# The order of packages is significant, because pip processes them in the order
|
||||
# of appearance. Changing the order has an impact on the overall integration
|
||||
# process, which may cause wedges in the gate later.
|
||||
pbr>=0.11,<2.0
|
||||
pbr>=1.3,<2.0
|
||||
|
||||
# never put a cap on this, *ever*, sqla versions are handled via
|
||||
# tox, and if SQLA is capped it will only make it so we aren't testing
|
||||
|
|
10
setup.py
10
setup.py
|
@ -16,6 +16,14 @@
|
|||
|
||||
import setuptools
|
||||
|
||||
# In python < 2.7.4, a lazy loading of package `pbr` will break
|
||||
# setuptools if some other modules registered functions in `atexit`.
|
||||
# solution from: http://bugs.python.org/issue15881#msg170215
|
||||
try:
|
||||
import multiprocessing # noqa
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
setuptools.setup(
|
||||
setup_requires=['pbr'],
|
||||
setup_requires=['pbr>=1.3'],
|
||||
pbr=True)
|
||||
|
|
|
@ -8,7 +8,7 @@ coverage>=3.6
|
|||
discover
|
||||
feedparser
|
||||
fixtures>=0.3.14
|
||||
mock>=1.0
|
||||
mock>=1.2
|
||||
mox>=0.5.3
|
||||
psycopg2
|
||||
python-subunit>=0.0.18
|
||||
|
|
Loading…
Reference in New Issue