Changeset - 7894a440e134
[Not reviewed]
default
0 3 2
Søren Løvborg - 9 years ago 2016-06-02 13:21:59
sorenl@unity3d.com
db: add Alembic "migration environment"

Add in kallithea/alembic an unmodified Alembic "migration environment",
as generated by 'alembic init':

Copyright (C) 2009-2016 by Michael Bayer.
Alembic is a trademark of Michael Bayer.

Also update LICENSE, MANIFEST and setup metadata.
5 files changed with 108 insertions and 0 deletions:
0 comments (0 inline, 0 general)
LICENSE.md
Show inline comments
 
@@ -13,24 +13,36 @@ they so chose.
 
However, the definitive list of copyright holders for this project is kept in
 
[the about page template](kallithea/templates/about.html) so that it is
 
displayed appropriately when Kallithea is installed.  This is the most
 
important place to update copyright notices.
 

	
 
Third-Party Code Incorporated in Kallithea
 
==========================================
 

	
 
Various third-party code under GPLv3-compatible licenses is included as part
 
of Kallithea.
 

	
 

	
 
Alembic
 
-------
 

	
 
Kallithea incorporates an [Alembic](http://alembic.zzzcomputing.com/en/latest/)
 
"migration environment" in `kallithea/alembic`, portions of which is:
 

	
 
Copyright © 2009-2016 by Michael Bayer.
 
Alembic is a trademark of Michael Bayer.
 

	
 
and licensed under the MIT-permissive license, which is
 
[included in this distribution](MIT-Permissive-License.txt).
 

	
 

	
 
Bootstrap
 
---------
 

	
 
Kallithea incorporates parts of the Javascript system called
 
[Bootstrap](http://getbootstrap.com/), which is:
 

	
 
Copyright © 2012 Twitter, Inc.
 

	
 
and licensed under
 
[the Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).
 

	
MANIFEST.in
Show inline comments
 
include           Apache-License-2.0.txt
 
include           CONTRIBUTORS
 
include           COPYING
 
include           LICENSE-MERGELY.html
 
include           LICENSE.md
 
include           MIT-Permissive-License.txt
 
include           README.rst
 
include           development.ini
 
recursive-include docs *
 
recursive-include init.d *
 
recursive-include kallithea/alembic *
 
include           kallithea/bin/ldap_sync.conf
 
include           kallithea/bin/template.ini.mako
 
include           kallithea/config/deployment.ini_tmpl
 
recursive-include kallithea/i18n *
 
recursive-include kallithea/public *
 
recursive-include kallithea/templates *
 
recursive-include kallithea/tests/fixtures *
 
recursive-include kallithea/tests/scripts *
 
include           kallithea/tests/test.ini
 
include           kallithea/tests/vcs/aconfig
kallithea/alembic/env.py
Show inline comments
 
new file 100644
 
from __future__ import with_statement
 
from alembic import context
 
from sqlalchemy import engine_from_config, pool
 
from logging.config import fileConfig
 

	
 
# this is the Alembic Config object, which provides
 
# access to the values within the .ini file in use.
 
config = context.config
 

	
 
# Interpret the config file for Python logging.
 
# This line sets up loggers basically.
 
fileConfig(config.config_file_name)
 

	
 
# add your model's MetaData object here
 
# for 'autogenerate' support
 
# from myapp import mymodel
 
# target_metadata = mymodel.Base.metadata
 
target_metadata = None
 

	
 
# other values from the config, defined by the needs of env.py,
 
# can be acquired:
 
# my_important_option = config.get_main_option("my_important_option")
 
# ... etc.
 

	
 

	
 
def run_migrations_offline():
 
    """Run migrations in 'offline' mode.
 

	
 
    This configures the context with just a URL
 
    and not an Engine, though an Engine is acceptable
 
    here as well.  By skipping the Engine creation
 
    we don't even need a DBAPI to be available.
 

	
 
    Calls to context.execute() here emit the given string to the
 
    script output.
 

	
 
    """
 
    url = config.get_main_option("sqlalchemy.url")
 
    context.configure(
 
        url=url, target_metadata=target_metadata, literal_binds=True)
 

	
 
    with context.begin_transaction():
 
        context.run_migrations()
 

	
 

	
 
def run_migrations_online():
 
    """Run migrations in 'online' mode.
 

	
 
    In this scenario we need to create an Engine
 
    and associate a connection with the context.
 

	
 
    """
 
    connectable = engine_from_config(
 
        config.get_section(config.config_ini_section),
 
        prefix='sqlalchemy.',
 
        poolclass=pool.NullPool)
 

	
 
    with connectable.connect() as connection:
 
        context.configure(
 
            connection=connection,
 
            target_metadata=target_metadata
 
        )
 

	
 
        with context.begin_transaction():
 
            context.run_migrations()
 

	
 
if context.is_offline_mode():
 
    run_migrations_offline()
 
else:
 
    run_migrations_online()
kallithea/alembic/script.py.mako
Show inline comments
 
new file 100644
 
"""${message}
 

	
 
Revision ID: ${up_revision}
 
Revises: ${down_revision | comma,n}
 
Create Date: ${create_date}
 

	
 
"""
 

	
 
# revision identifiers, used by Alembic.
 
revision = ${repr(up_revision)}
 
down_revision = ${repr(down_revision)}
 
branch_labels = ${repr(branch_labels)}
 
depends_on = ${repr(depends_on)}
 

	
 
from alembic import op
 
import sqlalchemy as sa
 
${imports if imports else ""}
 

	
 
def upgrade():
 
    ${upgrades if upgrades else "pass"}
 

	
 

	
 
def downgrade():
 
    ${downgrades if downgrades else "pass"}
setup.py
Show inline comments
 
@@ -26,24 +26,25 @@ _meta.close()
 

	
 
callback = lambda V: ('.'.join(map(str, V[:3])) + '.'.join(V[3:]))
 
__version__ = _get_meta_var('VERSION', _metadata, callback)
 
__license__ = _get_meta_var('__license__', _metadata)
 
__author__ = _get_meta_var('__author__', _metadata)
 
__url__ = _get_meta_var('__url__', _metadata)
 
# defines current platform
 
__platform__ = platform.system()
 

	
 
is_windows = __platform__ in ['Windows']
 

	
 
requirements = [
 
    "alembic>=0.8.0,<0.9",
 
    "waitress==0.8.8",
 
    "webob>=1.0.8,<=1.1.1",
 
    "webtest==1.4.3",
 
    "Pylons>=1.0.0,<=1.0.2",
 
    "Beaker==1.6.4",
 
    "WebHelpers==1.3",
 
    "formencode>=1.2.4,<=1.2.6",
 
    "SQLAlchemy>=0.7.10,<1.1",
 
    "Mako>=0.9.0,<=1.0.0",
 
    "pygments>=1.5",
 
    "whoosh>=2.4.0,<=2.5.7",
 
    "celery>=2.2.5,<2.3",
0 comments (0 inline, 0 general)