summaryrefslogtreecommitdiff
path: root/doc/source/index.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/source/index.rst')
-rw-r--r--doc/source/index.rst188
1 files changed, 188 insertions, 0 deletions
diff --git a/doc/source/index.rst b/doc/source/index.rst
new file mode 100644
index 0000000..1e464d8
--- /dev/null
+++ b/doc/source/index.rst
@@ -0,0 +1,188 @@
+:mod:`migrate` - SQLAlchemy Migrate (schema change management)
+==============================================================
+
+.. module:: migrate
+.. moduleauthor:: Evan Rosson
+
+: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/
+:Generated: |today|
+:License: MIT
+:Version: |release|
+
+
+.. topic:: Overview
+
+ Inspired by Ruby on Rails' migrations, SQLAlchemy Migrate provides a way to
+ deal with database schema changes in SQLAlchemy_ projects.
+
+ Migrate was started as part of `Google's Summer of Code`_ by Evan Rosson,
+ 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`_.
+ During the hosting change the project was renamed to SQLAlchemy Migrate.
+
+ Currently, sqlalchemy-migrate supports Python versions from 2.6 to 2.7.
+ SQLAlchemy Migrate 0.7.2 supports SQLAlchemy 0.6.x and 0.7.x branches.
+
+ Support for Python 2.4 and 2.5 as well as SQLAlchemy 0.5.x has been dropped
+ after sqlalchemy-migrate 0.7.1.
+
+.. warning::
+
+ Version **0.6** broke backward compatibility, please read :ref:`changelog
+ <backwards-06>` for more info.
+
+
+Download and Development
+------------------------
+
+.. toctree::
+
+ download
+ credits
+
+
+.. _dialect-support:
+
+Dialect support
+---------------
+
+.. list-table::
+ :header-rows: 1
+ :widths: 25 10 10 10 10 10 11
+
+ * - Operation / Dialect
+ - :ref:`sqlite <sqlite-d>`
+ - :ref:`postgres <postgres-d>`
+ - :ref:`mysql <mysql-d>`
+ - :ref:`oracle <oracle-d>`
+ - :ref:`firebird <firebird-d>`
+ - mssql
+ * - :ref:`ALTER TABLE RENAME TABLE <table-rename>`
+ - yes
+ - yes
+ - yes
+ - yes
+ - no
+ - not supported
+ * - :ref:`ALTER TABLE RENAME COLUMN <column-alter>`
+ - yes (workaround) [#1]_
+ - yes
+ - yes
+ - yes
+ - yes
+ - not supported
+ * - :ref:`ALTER TABLE ADD COLUMN <column-create>`
+ - yes (workaround) [#2]_
+ - yes
+ - yes
+ - yes
+ - yes
+ - not supported
+ * - :ref:`ALTER TABLE DROP COLUMN <column-drop>`
+ - yes (workaround) [#1]_
+ - yes
+ - yes
+ - yes
+ - yes
+ - not supported
+ * - :ref:`ALTER TABLE ALTER COLUMN <column-alter>`
+ - yes (workaround) [#1]_
+ - yes
+ - yes
+ - yes (with limitations) [#3]_
+ - yes [#4]_
+ - not supported
+ * - :ref:`ALTER TABLE ADD CONSTRAINT <constraint-tutorial>`
+ - partial (workaround) [#1]_
+ - yes
+ - yes
+ - yes
+ - yes
+ - not supported
+ * - :ref:`ALTER TABLE DROP CONSTRAINT <constraint-tutorial>`
+ - partial (workaround) [#1]_
+ - yes
+ - yes
+ - yes
+ - yes
+ - not supported
+ * - :ref:`RENAME INDEX <index-rename>`
+ - no
+ - yes
+ - no
+ - yes
+ - yes
+ - not supported
+
+
+.. [#1] Table is renamed to temporary table, new table is created followed by
+ INSERT statements.
+.. [#2] See http://www.sqlite.org/lang_altertable.html for more information.
+ In cases not supported my sqlite, table is renamed to temporary table,
+ new table is created followed by INSERT statements.
+.. [#3] You can not change datatype or rename column if table has NOT NULL
+ data, see http://blogs.x2line.com/al/archive/2005/08/30/1231.aspx for
+ more information.
+.. [#4] Changing nullable is not supported
+
+
+Tutorials
+--------------
+
+List of useful tutorials:
+
+* `Using migrate with Elixir <http://www.karoltomala.com/blog/?p=633>`_
+* `Developing with migrations
+ <http://caneypuggies.alwaysreformed.com/wiki/DevelopingWithMigrations>`_
+
+
+User guide
+-------------
+
+SQLAlchemy Migrate is split into two parts, database schema versioning
+(:mod:`migrate.versioning`) and database migration management
+(:mod:`migrate.changeset`). The versioning API is available as the
+:ref:`migrate <command-line-usage>` command.
+
+.. toctree::
+
+ versioning
+ changeset
+ tools
+ faq
+ glossary
+
+.. _`google's summer of code`: http://code.google.com/soc
+.. _`Google Code project`: http://code.google.com/p/sqlalchemy-migrate
+.. _sqlalchemy: http://www.sqlalchemy.org
+
+
+API Documentation
+------------------
+
+.. toctree::
+
+ api
+
+
+Changelog
+---------
+
+.. toctree::
+
+ changelog
+
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`