草庐IT

sqlalchemy-migrate

全部标签

python - 使用 alembic 创建数据库表和在 SQLAlchemy 中定义模型有什么区别?

我可以使用命令alembicrevision-m'table_name'创建表,然后使用alembicupgradehead定义版本和迁移。此外,我可以通过在models.py(SQLAlchemy)中定义一个类来在数据库中创建表。两者有什么区别?我很困惑。我搞砸了这个概念吗?另外,当我使用Alembic迁移数据库时,为什么它没有在我的models.py中形成一个新类?我知道这些表已经创建,因为我使用SQLite浏览器检查了它们。我已经完成了所有配置。Alembic数据库的目标和config.py中的SQLALCHEMY_DATABASE-URI是相同的.db文件。

python - 使用 sqlalchemy 进行 bool 字段查询

Postgres模型:classSong(db.Model):id3_parsed=db.Column(db.Boolean,server_default=u'false')运行以下查询给出正确的计数:selectcount(*)fromsongwhereid3_parsedisfalse;但是我该如何使用flask-sqlalchemy来实现呢?这不起作用:songs=Song.query.filter(Song.id3_parsed==False).all() 最佳答案 songs=Song.query.filter(Song.

python - SQLAlchemy ORM __init__ 方法与

在SQLAlchemyORMtutorial以下代码作为将映射到表的类的示例给出:>>>fromsqlalchemyimportColumn,Integer,String>>>classUser(Base):...__tablename__='users'......id=Column(Integer,primary_key=True)...name=Column(String)...fullname=Column(String)...password=Column(String)......def__init__(self,name,fullname,password):...sel

python - 获取 fixture 中的主键(id)(Python,SQLAlchemy)

我正在使用fixture测试Pylons应用程序,但我偶然发现了一个问题。假设我有这样的数据集:classCompanyData(DataSet):classtest_company:company_full_name=u'FirmaTęst'company_short_name=u'TęstCo'classUserData(DataSet):classtest_user:user_login='testuser'user_password='test'company=CompanyData.test_company现在的问题是,当我在功能测试中使用此数据时(如http://farmd

python - CommandError : App 'books' has migrations. 应用有迁移时只能使用sqlmigrate和sqlflush命令

这个问题在这里已经有了答案:DjangoCommandError:App'polls'hasmigrations(5个答案)关闭3年前。我正在尝试了解python-django。我想制作名为books的自助应用。当我运行这个命令时$pythonmanage.pysqlallbooks出现以下错误CommandError:App'books'hasmigrations.Onlythesqlmigrateandsqlflushcommandscanbeusedwhenanapphasmigrations.我不明白为什么会出现这个错误,这是什么意思?任何帮助,将不胜感激。谢谢

python - 列 'django_migrations.id' 具有不受支持的类型 'serial' [使用 Amazon Redshift]

我使用django_celery连接到AmazonRedshift。要迁移数据库,在“makemigrations”之后我使用了命令“pythonmanage.pymigrate”,错误消息如下所示。原因是Redshift不支持数据类型“serial”,但包含“serial”类型的“django_migrations”表是自动创建的。如何停止Django迁移创建此表或避免在“django_migrations”表上使用序列号。D:\code\test_celery_django>pythonmanage.pymigrateTraceback(mostrecentcalllast):Fi

python - 如何仅将 SQLAlchemy 记录器输出到文件

根据我在SQLAlchemy日志记录配置文档中阅读的内容,我了解到sqlalchemy.create_engine上的echo参数控制是否将sqlalchemy日志记录强制输出到标准输出,但不应影响日志消息是否可用记录处理程序。在下面的代码中,如果echo=False,我不会向stdout或db.log输出,如果echo=True,我会同时向stdout和db.log输出>。当db.log仍然存在时,我不想输出任何东西。我怎样才能做到这一点?这是python2.7.6和sqlalchemy0.9.9importsqlalchemyimportloggingactive_db_url='

python - 为多个 celery worker 和线程正确设置 Flask-SQLAlchemy

当有多个celeryworker涉及多个线程并且都查询同一个数据库时,我正在努力使我的Flask、SQLAlchemy(mysql)和Celery设置正常工作。问题是我无法弄清楚如何以及在何处应用所需的更改,这些更改为flask应用程序和每个celeryworker提供了一个独立的数据库对象。据我所知,需要单独的session来避免讨厌的数据库错误,例如阻止其他数据库查询的不完整事务。这是我目前的项目结构/flask_celery.pyfromceleryimportCelerydefmake_celery(app):celery=Celery(app.import_name,back

python - 获取 sqlalchemy 基类对象而不是子对象

我的模型中有三个类,其中一个类由另外两个类继承:classItem(Base):__tablename__='item'id=Column(Integer,primary_key=True)title=Column(Unicode(300))type=Column(Unicode(50))__mapper_args__={'polymorphic_on':type}classNote(Item):__tablename__='note'id=Column(Integer,ForeignKey('item.id'),primary_key=True)extra=Column(Text)_

python - 识别 sqlalchemy.exc.OperationalError

我正在trycatchmysql/sqlalchemyOperationalErrors并替换handleaccessdenied(1045)与connectionrefused(2003)不同sqlalchemy.exc.OperationalError:(pymysql.err.OperationalError)(1045,"Accessdeniedforuser…(Backgroundonthiserrorat:http://sqlalche.me/e/e3q8)sqlalchemy.exc.OperationalError:(pymysql.err.OperationalErr