Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQLAlchemy中的删除约束_Python_Mysql_Sqlalchemy_Pyramid - Fatal编程技术网

Python SQLAlchemy中的删除约束

Python SQLAlchemy中的删除约束,python,mysql,sqlalchemy,pyramid,Python,Mysql,Sqlalchemy,Pyramid,我在Pyramid SQLAlchemy中创建了一个类,我的models.py包含以下内容: class Students(Base): __tablename__ = 'students' id = Column(Integer, primary_key=True, nullable=False, autoincrement=True) name = Column(String(50, convert_unicode=True), nullable=False, un

我在Pyramid SQLAlchemy中创建了一个类,我的models.py包含以下内容:

class Students(Base):

    __tablename__ = 'students'
    id = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
    name = Column(String(50, convert_unicode=True), nullable=False, unique=True)  
我意外地创建了惟一约束,并运行initializedb.py命令,然后创建了模式。我尝试删除唯一约束并重新运行initializedb.py命令,但约束不会删除,因此出现此错误

sqlalchemy.exc.IntegrityError: (IntegrityError) column name is not unique u'INSERT INTO students (id,name) VALUES (?, ?)' (200,'Hailey')
如何删除/修改此约束?

金字塔初始化*\u db脚本调用,这是一个非常愚蠢的函数,因为它对任何具有相同名称的表(如果存在)都很满意。不幸的是,这意味着您需要手动删除唯一约束,或者删除整个数据库并重新创建


对于任何严肃的项目,我建议您使用来处理数据库架构迁移。

Oh:如果我删除自动创建的.sqlite db并重新运行initializedb命令,是否就足够了?是的,这将在sqlite3中删除数据库