• sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) Cannot add a NOT NULL column with default value NULL [SQL: u'ALTER TABLE address_scopes ADD COLUMN ip_version INTEGER NOT NULL']


    root@hett-virtual-machine:~# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf
      --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
    No handlers could be found for logger "oslo_config.cfg"
    INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
    INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
      Running upgrade for neutron ...
    INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
    INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
    INFO  [alembic.runtime.migration] Running upgrade dce3ec7a25c9 -> c3a73f615e4, Add ip_version to AddressScope
    Traceback (most recent call last):
      File "/usr/bin/neutron-db-manage", line 10, in <module>
        sys.exit(main())
      File "/usr/lib/python2.7/dist-packages/neutron/db/migration/cli.py", line 750, in main
        return_val |= bool(CONF.command.func(config, CONF.command.name))
      File "/usr/lib/python2.7/dist-packages/neutron/db/migration/cli.py", line 226, in do_upgrade
        desc=branch, sql=CONF.command.sql)
      File "/usr/lib/python2.7/dist-packages/neutron/db/migration/cli.py", line 127, in do_alembic_command
        getattr(alembic_command, cmd)(config, *args, **kwargs)
      File "/usr/lib/python2.7/dist-packages/alembic/command.py", line 174, in upgrade
        script.run_env()
      File "/usr/lib/python2.7/dist-packages/alembic/script/base.py", line 397, in run_env
        util.load_python_file(self.dir, 'env.py')
      File "/usr/lib/python2.7/dist-packages/alembic/util/pyfiles.py", line 81, in load_python_file
        module = load_module_py(module_id, path)
      File "/usr/lib/python2.7/dist-packages/alembic/util/compat.py", line 79, in load_module_py
        mod = imp.load_source(module_id, path, fp)
      File "/usr/lib/python2.7/dist-packages/neutron/db/migration/alembic_migrations/env.py", line 126, in <module>
        run_migrations_online()
      File "/usr/lib/python2.7/dist-packages/neutron/db/migration/alembic_migrations/env.py", line 120, in run_migrations_online
        context.run_migrations()
      File "<string>", line 8, in run_migrations
      File "/usr/lib/python2.7/dist-packages/alembic/runtime/environment.py", line 797, in run_migrations
        self.get_context().run_migrations(**kw)
      File "/usr/lib/python2.7/dist-packages/alembic/runtime/migration.py", line 312, in run_migrations
        step.migration_fn(**kw)
      File "/usr/lib/python2.7/dist-packages/neutron/db/migration/alembic_migrations/versions/mitaka/expand/c3a73f615e4_add_ip_version_to_address_scope.py", line 33, in upgrade
        sa.Column('ip_version', sa.Integer(), nullable=False))
      File "<string>", line 8, in add_column
      File "<string>", line 3, in add_column
      File "/usr/lib/python2.7/dist-packages/alembic/operations/ops.py", line 1535, in add_column
        return operations.invoke(op)
      File "/usr/lib/python2.7/dist-packages/alembic/operations/base.py", line 318, in invoke
        return fn(self, operation)
      File "/usr/lib/python2.7/dist-packages/alembic/operations/toimpl.py", line 123, in add_column
        schema=schema
      File "/usr/lib/python2.7/dist-packages/alembic/ddl/impl.py", line 172, in add_column
        self._exec(base.AddColumn(table_name, column, schema=schema))
      File "/usr/lib/python2.7/dist-packages/alembic/ddl/impl.py", line 118, in _exec
        return conn.execute(construct, *multiparams, **params)
      File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 914, in execute
        return meth(self, multiparams, params)
      File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/ddl.py", line 68, in _execute_on_connection
        return connection._execute_ddl(self, multiparams, params)
      File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 968, in _execute_ddl
        compiled
      File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1146, in _execute_context
        context)
      File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1337, in _handle_dbapi_exception
        util.raise_from_cause(newraise, exc_info)
      File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 200, in raise_from_cause
        reraise(type(exception), exception, tb=exc_tb)
      File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
        context)
      File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 450, in do_execute
        cursor.execute(statement, parameters)
    sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) Cannot add a NOT NULL column with default value NULL [SQL: u'ALTER TABLE address_scopes ADD COLUMN ip_version INTEGER NOT NULL']

    解决方式:

    因为我们自己创建了mysql,需要屏蔽自带的sqlite

    在配置文件中 /etc/netutron/neotron.cnf注释其中一句

  • 相关阅读:
    浅谈SQL优化入门:1、SQL查询语句的执行顺序
    RabbitMQ 第三课 Exchange交换机详解
    RabbitMQ 第二课 快速入门
    RabbitMQ 第一课 RabbitMQ基本概念
    別人的JVM博客总结
    MySQL面试题 数据库MySQL经典面试题之SQL语句
    Swagger介绍及使用
    hcjk_SQL_FinReport_ismealFlag_Version
    hcjk_SQL 退费干掉,组套全展开,但0元被删掉了,退费的打印待沟通
    hcjk_fr 查询SQL,支持组套
  • 原文地址:https://www.cnblogs.com/youran-he/p/8191889.html
Copyright © 2020-2023  润新知