changelog.rst 11.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
0.7.3 (201x-xx-xx)
---------------------------

Changes
******************

-

Documentation
******************

-

Features
******************

-

Fixed Bugs
******************

22 23
- #140: excludeTablesgetDiffOfModelAgainstModel is not passing excludeTables
  correctly (patch by Jason Michalski)
24 25
- #72:  Regression against issue #38, migrate drops engine reference (patch by
  asuffield@gmail.com)
26 27
- #154: versioning/schema.py imports deprecated sqlalchemy.exceptions (patch by
  Alex Favaro)
Jan Dittberner's avatar
Jan Dittberner committed
28 29 30
- fix deprecation warning using MetaData.reflect instead of reflect=True
  constructor argument
- fix test failure by removing unsupported length argument for Text column
31

32
0.7.2 (2011-11-01)
33 34
---------------------------

35 36 37 38 39 40
Changes
******************

- support for SQLAlchemy 0.5.x has been dropped
- Python 2.6 is the minimum supported Python version

Jan Dittberner's avatar
Jan Dittberner committed
41 42 43
Documentation
******************

44
- add :ref:`credits <credits>` for contributors
Jan Dittberner's avatar
Jan Dittberner committed
45 46 47 48 49 50 51 52 53
- add :ref:`glossary <glossary>`
- improve :ref:`advice on testing production changes <production testing
  warning>`
- improve Sphinx markup
- refine :ref:`Database Schema Versioning <versioning-system>` texts, add
  example for adding/droping columns (#104)
- add more developer related information to :ref:`development` section
- use sphinxcontrib.issuetracker to link to Google Code issue tracker

54 55 56
Features
******************

Jan Dittberner's avatar
Jan Dittberner committed
57
- improved :pep:`8` compliance (#122)
58 59
- optionally number versions with timestamps instead of sequences (partly
  pulled from Pete Keen)
Jan Dittberner's avatar
Jan Dittberner committed
60 61 62
- allow descriptions in SQL change script filenames (by Pete Keen)
- improved model generation

63 64 65
Fixed Bugs
******************

Jan Dittberner's avatar
Jan Dittberner committed
66 67 68
- #83: api test downgrade/upgrade does not work with sql scripts (pulled from
  Yuen Ho Wong)
- #105: passing a unicode string as the migrate repository fails (add
69
  regression test)
Jan Dittberner's avatar
Jan Dittberner committed
70 71 72 73 74 75 76 77 78 79 80 81 82
- #113: make_update_script_for_model fails with AttributeError: 'SchemaDiff'
  object has no attribute 'colDiffs' (patch by Jeremy Cantrell)
- #118: upgrade and downgrade functions are reversed when using the command
  "make_update_script_for_model" (patch by Jeremy Cantrell)
- #121: manage.py should use the "if __name__=='__main__'" trick
- #123: column creation in make_update_script_for_model and required API change
  (by Gabriel de Perthuis)
- #124: compare_model_to_db gets confused by sqlite_sequence (pulled from
  Dustin J. Mitchell)
- #125: drop column does not work on persistent sqlite databases (pulled from
  Benoît Allard)
- #128: table rename failure with sqlalchemy 0.7.x (patch by Mark McLoughlin)
- #129: update documentation and help text (pulled from Yuen Ho Wong)
Jan Dittberner's avatar
Jan Dittberner committed
83

84
0.7.1 (2011-05-27)
85 86 87 88 89 90
---------------------------

Fixed Bugs
******************

- docs/_build is excluded from source tarball builds
91 92
- use table.append_column() instead of column._set_parent() in
  ChangesetColumn.add_to_table()
93
- fix source and issue tracking URLs in documentation
94

95
0.7 (2011-05-27)
Jan Dittberner's avatar
Jan Dittberner committed
96 97
---------------------------

98 99 100 101
Features
******************

- compatibility with SQLAlchemy 0.7
Jan Dittberner's avatar
Jan Dittberner committed
102
- add :py:data:`migrate.__version__`
103 104 105 106 107 108

Fixed bugs
******************

- fix compatibility issues with SQLAlchemy 0.7

109
0.6.1 (2011-02-11)
110 111
---------------------------

chrisw's avatar
chrisw committed
112 113
Features
******************
114

chrisw's avatar
chrisw committed
115 116 117 118
- implemented column adding when foreign keys are present for sqlite
- implemented columns adding with unique constraints for sqlite
- implemented adding unique and foreign key constraints to columns
  for sqlite
119
- remove experimental `alter_metadata` parameter
chrisw's avatar
chrisw committed
120

121 122 123 124
Fixed bugs
******************

- updated tests for Python 2.7
Jan Dittberner's avatar
Jan Dittberner committed
125 126
- repository keyword in :py:func:`migrate.versioning.api.version_control` can
  also be unicode
127
- added if main condition for manage.py script
Jan Dittberner's avatar
Jan Dittberner committed
128
- make :py:func:`migrate.changeset.constraint.ForeignKeyConstraint.autoname`
Domen Kožar's avatar
Domen Kožar committed
129
  work with SQLAlchemy 0.5 and 0.6
130
- fixed case sensitivity in setup.py dependencies
Jan Dittberner's avatar
Jan Dittberner committed
131 132
- moved :py:mod:`migrate.changeset.exceptions` and
  :py:mod:`migrate.versioning.exceptions` to :py:mod:`migrate.exceptions`
133
- cleared up test output and improved testing of deprecation warnings.
chrisw's avatar
chrisw committed
134
- some documentation fixes
135
- #107: fixed syntax error in genmodel.py
Domen Kožar's avatar
Domen Kožar committed
136 137
- #96: fixed bug with column dropping in sqlite
- #94: fixed bug that prevented non-unique indexes being created
138
- fixed bug with column dropping involving foreign keys
139
- fixed bug when dropping columns with unique constraints in sqlite
chrisw's avatar
chrisw committed
140 141
- rewrite of the schema diff internals, now supporting column
  differences in additon to missing columns and tables.
chrisw's avatar
chrisw committed
142
- fixed bug when passing empty list in
143
  :py:func:`migrate.versioning.shell.main` failed
144
- #108: Fixed issues with firebird support.
145

146 147
0.6 (11.07.2010)
---------------------------
148 149 150 151 152

.. _backwards-06:

.. warning:: **Backward incompatible changes**:

Jan Dittberner's avatar
Jan Dittberner committed
153 154 155 156 157 158 159 160
    - :py:func:`migrate.versioning.api.test` and schema comparison functions
      now all accept `url` as first parameter and `repository` as second.
    - python upgrade/downgrade scripts do not import `migrate_engine`
      magically, but recieve engine as the only parameter to function (eg.
      ``def upgrade(migrate_engine):``)
    - :py:meth:`Column.alter <migrate.changeset.schema.ChangesetColumn.alter>`
      does not accept `current_name` anymore, it extracts name from the old
      column.
161 162 163 164 165

Features
**************

- added support for :ref:`firebird <firebird-d>`
Jan Dittberner's avatar
Jan Dittberner committed
166 167
- added option to define custom templates through option ``--templates_path``
  and ``--templates_theme``,
168
  read more in :ref:`tutorial section <custom-templates>`
Jan Dittberner's avatar
Jan Dittberner committed
169 170 171 172
- use Python logging for output, can be shut down by passing
  ``--disable_logging`` to :py:func:`migrate.versioning.shell.main`
- deprecated `alter_column` comparing of columns. Just use explicit parameter
  change.
173
- added support for SQLAlchemy 0.6.x by Michael Bayer
Jan Dittberner's avatar
Jan Dittberner committed
174 175 176 177 178 179 180
- Constraint classes have `cascade=True` keyword argument to issue ``DROP
  CASCADE`` where supported
- added :py:class:`~migrate.changeset.constraint.UniqueConstraint`/
  :py:class:`~migrate.changeset.constraint.CheckConstraint` and corresponding
  create/drop methods
- API `url` parameter can also be an :py:class:`Engine` instance (this usage is
  discouraged though sometimes necessary)
181
- code coverage is up to 80% with more than 100 tests
Jan Dittberner's avatar
Jan Dittberner committed
182 183 184 185 186 187 188 189 190
- alter, create, drop column / rename table / rename index constructs now
  accept `alter_metadata` parameter. If True, it will modify Column/Table
  objects according to changes. Otherwise, everything will be untouched.
- added `populate_default` bool argument to :py:meth:`Column.create
  <migrate.changeset.schema.ChangesetColumn.create>` which issues corresponding
  UPDATE statements to set defaults after column creation
- :py:meth:`Column.create <migrate.changeset.schema.ChangesetColumn.create>`
  accepts `primary_key_name`, `unique_name` and `index_name` as string value
  which is used as contraint name when adding a column
191

iElectric's avatar
iElectric committed
192
Fixed bugs
193 194
*****************

Jan Dittberner's avatar
Jan Dittberner committed
195 196 197 198 199 200 201 202 203 204 205 206 207 208
- :term:`ORM` methods now accept `connection` parameter commonly used for
  transactions
- `server_defaults` passed to :py:meth:`Column.create
  <migrate.changeset.schema.ChangesetColumn.create>` are now issued correctly
- use SQLAlchemy quoting system to avoid name conflicts (#32)
- complete refactoring of :py:class:`~migrate.changeset.schema.ColumnDelta`
  (#23)
- partial refactoring of :py:mod:`migrate.changeset` package
- fixed bug when :py:meth:`Column.alter
  <migrate.changeset.schema.ChangesetColumn.alter>`\(server_default='string')
  was not properly set
- constraints passed to :py:meth:`Column.create
  <migrate.changeset.schema.ChangesetColumn.create>` are correctly interpreted
  (``ALTER TABLE ADD CONSTRAINT`` is issued after ``ATLER TABLE ADD COLUMN``)
iElectric's avatar
iElectric committed
209
- script names don't break with dot in the name
210

211 212 213 214
Documentation
*********************

- :ref:`dialect support <dialect-support>` table was added to documentation
Jan Dittberner's avatar
Jan Dittberner committed
215
- major update to documentation
216

217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264

0.5.4
-----

- fixed preview_sql parameter for downgrade/upgrade. Now it prints SQL if the step is SQL script and runs step with mocked engine to only print SQL statements if ORM is used. [Domen Kozar]
- use entrypoints terminology to specify dotted model names (module.model:User) [Domen Kozar]
- added engine_dict and engine_arg_* parameters to all api functions (deprecated echo) [Domen Kozar]
- make --echo parameter a bit more forgivable (better Python API support)  [Domen Kozar]
- apply patch to refactor cmd line parsing for Issue 54 by Domen Kozar

0.5.3
-----

- apply patch for Issue 29 by Jonathan Ellis
- fix Issue 52 by removing needless parameters from object.__new__ calls

0.5.2
-----

- move sphinx and nose dependencies to extras_require and tests_require
- integrate patch for Issue 36 by Kumar McMillan
- fix unit tests
- mark ALTER TABLE ADD COLUMN with FOREIGN KEY as not supported by SQLite

0.5.1.2
-------

- corrected build

0.5.1.1
-------

- add documentation in tarball
- add a MANIFEST.in

0.5.1
-----

- SA 0.5.x support. SQLAlchemy < 0.5.1 not supported anymore.
- use nose instead of py.test for testing
- Added --echo=True option for all commands, which will make the sqlalchemy connection echo SQL statements.
- Better PostgreSQL support, especially for schemas.
- modification to the downgrade command to simplify the calling (old way still works just fine)
- improved support for SQLite
- add support for check constraints (EXPERIMENTAL)
- print statements removed from APIs
- improved sphinx based documentation
- removal of old commented code
Jan Dittberner's avatar
Jan Dittberner committed
265
- :pep:`8` clean code
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316

0.4.5
-----

- work by Christian Simms to compare metadata against databases
- new repository format
- a repository format migration tool is in migrate/versioning/migrate_repository.py
- support for default SQL scripts
- EXPERIMENTAL support for dumping database to model

0.4.4
-----

- patch by pwannygoodness for Issue #15
- fixed unit tests to work with py.test 0.9.1
- fix for a SQLAlchemy deprecation warning

0.4.3
-----

- patch by Kevin Dangoor to handle database versions as packages and ignore their __init__.py files in version.py
- fixed unit tests and Oracle changeset support by Christian Simms

0.4.2
-----

- package name is sqlalchemy-migrate again to make pypi work
- make import of sqlalchemy's SchemaGenerator work regardless of previous imports

0.4.1
-----

- setuptools patch by Kevin Dangoor
- re-rename module to migrate

0.4.0
-----

- SA 0.4.0 compatibility thanks to Christian Simms
- all unit tests are working now (with sqlalchemy >= 0.3.10)

0.3
---

- SA 0.3.10 compatibility

0.2.3
-----

- Removed lots of SA monkeypatching in Migrate's internals
- SA 0.3.3 compatibility
Jan Dittberner's avatar
Jan Dittberner committed
317
- Removed logsql (trac issue 75)
318
- Updated py.test version from 0.8 to 0.9; added a download link to setup.py
Jan Dittberner's avatar
Jan Dittberner committed
319 320
- Fixed incorrect "function not defined" error (trac issue 88)
- Fixed SQLite and .sql scripts (trac issue 87)
321 322 323 324

0.2.2
-----

Jan Dittberner's avatar
Jan Dittberner committed
325 326 327
- Deprecated driver(engine) in favor of engine.name (trac issue 80)
- Deprecated logsql (trac issue 75)
- Comments in .sql scripts don't make things fail silently now (trac issue 74)
328 329
- Errors while downgrading (and probably other places) are shown on their own line
- Created mailing list and announcements list, updated documentation accordingly
Jan Dittberner's avatar
Jan Dittberner committed
330 331 332 333 334
- Automated tests now require py.test (trac issue 66)
- Documentation fix to .sql script commits (trac issue 72)
- Fixed a pretty major bug involving logengine, dealing with commits/tests (trac issue 64)
- Fixes to the online docs - default DB versioning table name (trac issue 68)
- Fixed the engine name in the scripts created by the command 'migrate script' (trac issue 69)
335 336 337 338 339 340 341
- Added Evan's email to the online docs

0.2.1
-----

- Created this changelog
- Now requires (and is now compatible with) SA 0.3
Jan Dittberner's avatar
Jan Dittberner committed
342
- Commits across filesystems now allowed (shutil.move instead of os.rename) (trac issue 62)