cafca / souma

Souma is a distributed and end-to-end encrypted community platform based on humanist ideals
Apache License 2.0
5 stars 3 forks source link

Alembic support #174

Closed cartisan closed 10 years ago

cartisan commented 10 years ago

Implemented migration management using alembic and flask-migrate. To create a migration use: python manager.py db migration which will auto-detect changes in the model. Make sure to check the created migration file in migration/versions/ because not ALL changes can be detected automagically. To apply changes use python manager.py db upgrade.

Also:

cafca commented 10 years ago

Please add docstrings like this in nucleus.helpers (http://google-styleguide.googlecode.com/svn/trunk/pyguide.html#Comments)

def fetch_bigtable_rows(big_table, keys, other_silly_variable=None):
    """Fetches rows from a Bigtable.

    Retrieves rows pertaining to the given keys from the Table instance
    represented by big_table.  Silly things may happen if
    other_silly_variable is not None.

    Args:
        big_table: An open Bigtable Table instance.
        keys: A sequence of strings representing the key of each table row
            to fetch.
        other_silly_variable: Another optional variable, that has a much
            longer name than the other args, and which does nothing.

    Returns:
        A dict mapping keys to the corresponding table row data
        fetched. Each row is represented as a tuple of strings. For
        example:

        {'Serak': ('Rigel VII', 'Preparer'),
         'Zim': ('Irk', 'Invader'),
         'Lrrr': ('Omicron Persei 8', 'Emperor')}

        If a key from the keys argument is missing from the dictionary,
        then that row was not found in the table.

    Raises:
        IOError: An error occurred accessing the bigtable.Table object.
    """
    pass
cafca commented 10 years ago

Closes #162