aboutsummaryrefslogtreecommitdiff
path: root/budget/migrations
diff options
context:
space:
mode:
authorAlexis Metaireau <alexis@notmyidea.org>2017-07-07 00:06:56 +0200
committerGitHub <noreply@github.com>2017-07-07 00:06:56 +0200
commit3a4282fd75e3b3317b2b08b4aa2e6ac154310e73 (patch)
tree9470c907ba1f884246af87d26d55c3aaac6d6dc5 /budget/migrations
parent0e374cd5e0ef5a9be67084365f91de2ab84f636c (diff)
downloadihatemoney-mirror-3a4282fd75e3b3317b2b08b4aa2e6ac154310e73.zip
ihatemoney-mirror-3a4282fd75e3b3317b2b08b4aa2e6ac154310e73.tar.gz
ihatemoney-mirror-3a4282fd75e3b3317b2b08b4aa2e6ac154310e73.tar.bz2
Absolute imports & some other improvements (#243)
* Use absolute imports and rename package to ihatemoney * Add a ihatemoney command * Factorize application creation logic * Refactor the tests * Update the wsgi.py module with the new create_app() function * Fix some styling thanks to Flake8. * Automate Flake8 check in the CI.
Diffstat (limited to 'budget/migrations')
-rwxr-xr-xbudget/migrations/README1
-rw-r--r--budget/migrations/alembic.ini45
-rwxr-xr-xbudget/migrations/env.py85
-rwxr-xr-xbudget/migrations/script.py.mako22
-rw-r--r--budget/migrations/versions/26d6a218c329_.py26
-rw-r--r--budget/migrations/versions/b9a10d5d63ce_.py68
-rw-r--r--budget/migrations/versions/f629c8ef4ab0_initialize_all_members_weights_to_1.py39
7 files changed, 0 insertions, 286 deletions
diff --git a/budget/migrations/README b/budget/migrations/README
deleted file mode 100755
index 98e4f9c..0000000
--- a/budget/migrations/README
+++ /dev/null
@@ -1 +0,0 @@
-Generic single-database configuration. \ No newline at end of file
diff --git a/budget/migrations/alembic.ini b/budget/migrations/alembic.ini
deleted file mode 100644
index f8ed480..0000000
--- a/budget/migrations/alembic.ini
+++ /dev/null
@@ -1,45 +0,0 @@
-# A generic, single database configuration.
-
-[alembic]
-# template used to generate migration files
-# file_template = %%(rev)s_%%(slug)s
-
-# set to 'true' to run the environment during
-# the 'revision' command, regardless of autogenerate
-# revision_environment = false
-
-
-# Logging configuration
-[loggers]
-keys = root,sqlalchemy,alembic
-
-[handlers]
-keys = console
-
-[formatters]
-keys = generic
-
-[logger_root]
-level = WARN
-handlers = console
-qualname =
-
-[logger_sqlalchemy]
-level = WARN
-handlers =
-qualname = sqlalchemy.engine
-
-[logger_alembic]
-level = INFO
-handlers =
-qualname = alembic
-
-[handler_console]
-class = StreamHandler
-args = (sys.stderr,)
-level = NOTSET
-formatter = generic
-
-[formatter_generic]
-format = %(levelname)-5.5s [%(name)s] %(message)s
-datefmt = %H:%M:%S
diff --git a/budget/migrations/env.py b/budget/migrations/env.py
deleted file mode 100755
index e2f9a28..0000000
--- a/budget/migrations/env.py
+++ /dev/null
@@ -1,85 +0,0 @@
-from __future__ import with_statement
-from alembic import context
-from sqlalchemy import engine_from_config, pool
-from logging.config import fileConfig
-import logging
-
-# 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)
-logger = logging.getLogger('alembic.env')
-
-# Add your model's MetaData object here for 'autogenerate' support from myapp
-# import mymodel target_metadata = mymodel.Base.metadata.
-from flask import current_app
-config.set_main_option('sqlalchemy.url',
- current_app.config.get('SQLALCHEMY_DATABASE_URI'))
-target_metadata = current_app.extensions['migrate'].db.metadata
-
-# 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)
-
- 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.
-
- """
-
- # This callback is used to prevent an auto-migration from being generated
- # when there are no changes to the schema.
- # reference: https://alembic.readthedocs.io/en/latest/cookbook.html
- def process_revision_directives(context, revision, directives):
- if getattr(config.cmd_opts, 'autogenerate', False):
- script = directives[0]
- if script.upgrade_ops.is_empty():
- directives[:] = []
- logger.info('No changes in schema detected.')
-
- engine = engine_from_config(config.get_section(config.config_ini_section),
- prefix='sqlalchemy.',
- poolclass=pool.NullPool)
-
- connection = engine.connect()
- context.configure(connection=connection,
- target_metadata=target_metadata,
- process_revision_directives=process_revision_directives,
- **current_app.extensions['migrate'].configure_args)
-
- try:
- with context.begin_transaction():
- context.run_migrations()
- finally:
- connection.close()
-
-if context.is_offline_mode():
- run_migrations_offline()
-else:
- run_migrations_online()
diff --git a/budget/migrations/script.py.mako b/budget/migrations/script.py.mako
deleted file mode 100755
index 9570201..0000000
--- a/budget/migrations/script.py.mako
+++ /dev/null
@@ -1,22 +0,0 @@
-"""${message}
-
-Revision ID: ${up_revision}
-Revises: ${down_revision}
-Create Date: ${create_date}
-
-"""
-
-# revision identifiers, used by Alembic.
-revision = ${repr(up_revision)}
-down_revision = ${repr(down_revision)}
-
-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"}
diff --git a/budget/migrations/versions/26d6a218c329_.py b/budget/migrations/versions/26d6a218c329_.py
deleted file mode 100644
index 859b9af..0000000
--- a/budget/migrations/versions/26d6a218c329_.py
+++ /dev/null
@@ -1,26 +0,0 @@
-"""Add Person.weight column
-
-Revision ID: 26d6a218c329
-Revises: b9a10d5d63ce
-Create Date: 2016-06-15 09:22:04.069447
-
-"""
-
-# revision identifiers, used by Alembic.
-revision = '26d6a218c329'
-down_revision = 'b9a10d5d63ce'
-
-from alembic import op
-import sqlalchemy as sa
-
-
-def upgrade():
- ### commands auto generated by Alembic - please adjust! ###
- op.add_column('person', sa.Column('weight', sa.Float(), nullable=True))
- ### end Alembic commands ###
-
-
-def downgrade():
- ### commands auto generated by Alembic - please adjust! ###
- op.drop_column('person', 'weight')
- ### end Alembic commands ###
diff --git a/budget/migrations/versions/b9a10d5d63ce_.py b/budget/migrations/versions/b9a10d5d63ce_.py
deleted file mode 100644
index 92bb446..0000000
--- a/budget/migrations/versions/b9a10d5d63ce_.py
+++ /dev/null
@@ -1,68 +0,0 @@
-"""Initial migration
-
-Revision ID: b9a10d5d63ce
-Revises: None
-Create Date: 2016-05-21 23:21:21.605076
-
-"""
-
-# revision identifiers, used by Alembic.
-revision = 'b9a10d5d63ce'
-down_revision = None
-
-from alembic import op
-import sqlalchemy as sa
-
-
-def upgrade():
- ### commands auto generated by Alembic - please adjust! ###
- op.create_table('project',
- sa.Column('id', sa.String(length=64), nullable=False),
- sa.Column('name', sa.UnicodeText(), nullable=True),
- sa.Column('password', sa.String(length=128), nullable=True),
- sa.Column('contact_email', sa.String(length=128), nullable=True),
- sa.PrimaryKeyConstraint('id')
- )
- op.create_table('archive',
- sa.Column('id', sa.Integer(), nullable=False),
- sa.Column('project_id', sa.String(length=64), nullable=True),
- sa.Column('name', sa.UnicodeText(), nullable=True),
- sa.ForeignKeyConstraint(['project_id'], ['project.id'], ),
- sa.PrimaryKeyConstraint('id')
- )
- op.create_table('person',
- sa.Column('id', sa.Integer(), nullable=False),
- sa.Column('project_id', sa.String(length=64), nullable=True),
- sa.Column('name', sa.UnicodeText(), nullable=True),
- sa.Column('activated', sa.Boolean(), nullable=True),
- sa.ForeignKeyConstraint(['project_id'], ['project.id'], ),
- sa.PrimaryKeyConstraint('id')
- )
- op.create_table('bill',
- sa.Column('id', sa.Integer(), nullable=False),
- sa.Column('payer_id', sa.Integer(), nullable=True),
- sa.Column('amount', sa.Float(), nullable=True),
- sa.Column('date', sa.Date(), nullable=True),
- sa.Column('what', sa.UnicodeText(), nullable=True),
- sa.Column('archive', sa.Integer(), nullable=True),
- sa.ForeignKeyConstraint(['archive'], ['archive.id'], ),
- sa.ForeignKeyConstraint(['payer_id'], ['person.id'], ),
- sa.PrimaryKeyConstraint('id')
- )
- op.create_table('billowers',
- sa.Column('bill_id', sa.Integer(), nullable=True),
- sa.Column('person_id', sa.Integer(), nullable=True),
- sa.ForeignKeyConstraint(['bill_id'], ['bill.id'], ),
- sa.ForeignKeyConstraint(['person_id'], ['person.id'], )
- )
- ### end Alembic commands ###
-
-
-def downgrade():
- ### commands auto generated by Alembic - please adjust! ###
- op.drop_table('billowers')
- op.drop_table('bill')
- op.drop_table('person')
- op.drop_table('archive')
- op.drop_table('project')
- ### end Alembic commands ###
diff --git a/budget/migrations/versions/f629c8ef4ab0_initialize_all_members_weights_to_1.py b/budget/migrations/versions/f629c8ef4ab0_initialize_all_members_weights_to_1.py
deleted file mode 100644
index 5542146..0000000
--- a/budget/migrations/versions/f629c8ef4ab0_initialize_all_members_weights_to_1.py
+++ /dev/null
@@ -1,39 +0,0 @@
-"""Initialize all members weights to 1
-
-Revision ID: f629c8ef4ab0
-Revises: 26d6a218c329
-Create Date: 2016-06-15 09:40:30.400862
-
-"""
-
-# revision identifiers, used by Alembic.
-revision = 'f629c8ef4ab0'
-down_revision = '26d6a218c329'
-
-from alembic import op
-import sqlalchemy as sa
-
-# Snapshot of the person table
-person_helper = sa.Table(
- 'person', sa.MetaData(),
- sa.Column('id', sa.Integer(), nullable=False),
- sa.Column('project_id', sa.String(length=64), nullable=True),
- sa.Column('name', sa.UnicodeText(), nullable=True),
- sa.Column('activated', sa.Boolean(), nullable=True),
- sa.Column('weight', sa.Float(), nullable=True),
- sa.ForeignKeyConstraint(['project_id'], ['project.id'], ),
- sa.PrimaryKeyConstraint('id')
-)
-
-
-def upgrade():
- op.execute(
- person_helper.update()
- .where(person_helper.c.weight == None)
- .values(weight=1)
- )
-
-
-def downgrade():
- # Downgrade path is not possible, because information has been lost.
- pass