Mike Bayer [Tue, 29 Nov 2011 03:29:43 +0000 (22:29 -0500)]
- add version check for at least 06, tests for 07 in selected
areas
- add "requires 07" decorators to test suite
- add tests for PG ENUM in offline mode. works in conjunction
with the latest 0.7.4 tip of SQLAlchemy, fixes #9. Docs will
be needed to illustrate how ENUM should be used.
- add support for table before_create and after_create events
within op.create_table(). Currently this will do the ENUM
thing for PG but will also invoke any other kinds of events
that might get configured on the table.
Mike Bayer [Mon, 28 Nov 2011 18:49:58 +0000 (13:49 -0500)]
- move comparison of types, server default to the context.
PG context in particular does some tricks to help these.
- But since type/default comparison is still loaded with surprises,
particularly the MySQL/MSSQL TINYINT/BIT-> boolean thing which we
can work around but haven't yet, turn both off by default. They
aren't super useful compared to the huge number of wrong results
they can currently emit.
- Also add a plugin system for type/server default comparison.
- everything works but we're coding way ahead of tests at this
point
Mike Bayer [Mon, 28 Nov 2011 07:24:18 +0000 (02:24 -0500)]
- rework MySQL + autogenerate so that
multiple changes to a single col are collapsed
into one step, will work for other dialects
which may support this too
- add support for "imports" in scripts so
that dialect-specific types can be rendered straight in
from their parent module and work immediately
- rework the internals of autogenerate to be more
succinct, though there's a lot more that could
happen here to make this easier
Mike Bayer [Thu, 24 Nov 2011 00:27:58 +0000 (19:27 -0500)]
- support the constraints generated from SchemaType, honoring conditional
rule
- add mssql_drop_default, mssql_drop_check flags to drop_column(),
will emit special MSSQL crap to drop DEFAULT and CHECK constraints based
on inline system table lookup
Mike Bayer [Tue, 15 Nov 2011 22:17:27 +0000 (17:17 -0500)]
- add API support for inline literals
- push ad-hoc table/column constructs for CRUD operations
- update docs to more comprehensively describe how to do
CRUD in migrations
Mike Bayer [Tue, 15 Nov 2011 18:07:40 +0000 (13:07 -0500)]
- remove add_constraint, this is not the current philosophy of the op package
- document most op methods
- add support for create_index, drop_index
- remove needless arguments from drop_table
- propagate arguemnts to UniqueConstraint
Mike Bayer [Tue, 15 Nov 2011 04:34:17 +0000 (23:34 -0500)]
- add argparse to install requires
- more docs
- get env.py to work in --sql mode even without the DBAPI installed,
using just the URL
- add get_section_option()
Mike Bayer [Tue, 15 Nov 2011 00:19:11 +0000 (19:19 -0500)]
- refactor the migration operations out of context, which
mediates at a high level, into ddl/impl, which deals with DB stuff
- fix MSSQL add column, #2
Mike Bayer [Fri, 11 Nov 2011 18:44:05 +0000 (10:44 -0800)]
- get the "stamp" command to work in as_sql
- overhaul context + env so that --sql mode truly does
not make any SQL connections of any kind. The env.py
scripts create the engine and use it as the source of
a "dialect" - the "dialect" is now passed straight to the context.
- more power to env - can set output buffer, transactional ddl flag,
execute SQL via context instead of needing to import op
Mike Bayer [Wed, 28 Apr 2010 19:47:51 +0000 (15:47 -0400)]
- pushed the whole command line options thing into a single main() function
- command methods now accept a "config" plus positional + kw arguments,
for easy API calling
- main() provides context sensitive arguments and help for each command
using inspect.getargspec()
Mike Bayer [Wed, 28 Apr 2010 03:11:30 +0000 (23:11 -0400)]
- ok the time-based ids are going to suck with branching, so using
truncated random uuids now.
- removed the id number from the upgrade()/downgrade() callables.
Mike Bayer [Wed, 28 Apr 2010 02:57:54 +0000 (22:57 -0400)]
- get the test environment to use the command line correctly
- use time-based slightly random hex ids.
- probably going to remove the id from the upgrade/downgrade name, not
much point to it.
Mike Bayer [Mon, 26 Apr 2010 04:20:57 +0000 (00:20 -0400)]
illustrate the basic idea of add_xxx(strings), whereby Table/Column/Constraint objects
are just generated in order to produce the DDL. I'm not entirely
thrilled with this - would be nicer if we could get sqlalchemy.schema constructs
to generate with strings alone - but this would change their signatures. so we're sort
of doing that here anyway.