title: Flask-Migrate Error: 'ConfigParser.NoSectionError: No section: 'alembic''
body: <p>For the last few weeks I've been building a website mostly based on Miguel Grinberg's book 'Flask Web Development'. This is my 'manage.py' file for reference:</p>
  
  <pre><code>import os
  from app import create_app, db
  from app.models import User, Role, Permission, Post
  from flask.ext.script import Manager, Shell
  from flask.ext.migrate import Migrate, MigrateCommand
  
  app = create_app(os.getenv('FLASK_CONFIG') or 'default')
  manager = Manager(app)
  migrate = Migrate(app, db)
  
  def make_shell_context():
      return dict(app=app, db=db, User=User, Follow=Follow, Role=Role,
                  Permission=Permission, Post=Post)
  
  manager.add_command("shell", Shell(make_context=make_shell_context))
  manager.add_command('db', MigrateCommand)
  
  if __name__ == '__main__':
       manager.run()
  </code></pre>
  
  <p>And this is my app/__init.py file:</p>
  
  <pre><code>from flask import Flask #session, flash, url_for
  from flask.ext.mail import Mail
  from flask.ext.moment import Moment
  from flask.ext.sqlalchemy import SQLAlchemy
  from flask.ext.login import LoginManager
  from config import config
  
  login_manager = LoginManager()
  login_manager.session_protection = 'strong'
  login_manager.login_view = 'auth.login'
  
  mail = Mail()
  moment = Moment()
  db = SQLAlchemy() 
  
  def create_app(config_name):
      app = Flask(__name__)
      app.config.from_object(config[config_name])
      config[config_name].init_app(app)
  
      login_manager.init_app(app)
      mail.init_app(app)
      moment.init_app(app)
      db.init_app(app)
  
      from main import main as main_blueprint
      from .auth import auth as auth_blueprint
      app.register_blueprint(main_blueprint)
      app.register_blueprint(auth_blueprint, url_prefix = '/auth')
  
      return app
  </code></pre>
  
  <p>As you can see it's a relatively bare-bones project, but it was going well until a few days ago when I accidentally deleted my migrations folder, which up until that point was working without perfectly fine. When I attempted to set up the migrations folder again, I got this error:</p>
  
  <pre><code>(website1)joshua@joshua-ThinkPad-Edge-E430 ~/website/website1 $ python manage.py db migrate
  Traceback (most recent call last):
    File "manage.py", line 29, in &lt;module&gt;
      manager.run()
    File "/home/joshua/.virtualenvs/website1/lib/python2.7/site-packages/flask_script/__init__.py", line 412, in run
      result = self.handle(sys.argv[0], sys.argv[1:])
    File "/home/joshua/.virtualenvs/website1/lib/python2.7/site-packages/flask_script/__init__.py", line 383, in handle
      res = handle(*args, **config)
    File "/home/joshua/.virtualenvs/website1/lib/python2.7/site-packages/flask_script/commands.py", line 216, in __call__
      return self.run(*args, **kwargs)
    File "/home/joshua/.virtualenvs/website1/lib/python2.7/site-packages/flask_migrate/__init__.py", line 153, in migrate
      config = _get_config(directory, opts=['autogenerate'])
    File "/home/joshua/.virtualenvs/website1/lib/python2.7/site-packages/flask_migrate/__init__.py", line 51, in _get_config
      config.set_main_option('script_location', directory)
    File "/home/joshua/.virtualenvs/website1/lib/python2.7/site-packages/alembic/config.py", line 201, in set_main_option
      self.file_config.set(self.config_ini_section, name, value)
    File "/home/joshua/anaconda/lib/python2.7/ConfigParser.py", line 753, in set
      ConfigParser.set(self, section, option, value)
    File "/home/joshua/anaconda/lib/python2.7/ConfigParser.py", line 396, in set
      raise NoSectionError(section)
  ConfigParser.NoSectionError: No section: 'alembic'
  </code></pre>
  
  <p>I'm not really sure what to do about this, I've tried dropping then re-creating my database and running db migrate again but I got the same error as before. I also tried uninstalling and reinstalling alembic but with no luck.</p>
  
  <p>I'm not really sure what do do at this point, up until now whenever I've had an issue with the tutorial I took the time to figure it out on my own since I want to understand how everything works, but I'm totally stumped on this one.</p>