草庐IT

postgreSql

全部标签

python - Alembic 可以自动生成列更改吗?

我可以使用alembic--autogenerate用于添加/删除列时。但是,例如,当我想将“url”列从200个字符修改为2000个字符时,它不会检测到更改。我如何制作Alembic(使用SQLAlchemy)、检测更改并自动生成脚本到我的模型的各种列的“大小”并为PostgreSQL创建“alter_column”命令??编辑:为什么alembic没有自动添加:op.alter_column('mytable','url',type_=sa.String(2000),existing_type=sa.String(length=200),nullable=True)

python - Alembic 可以自动生成列更改吗?

我可以使用alembic--autogenerate用于添加/删除列时。但是,例如,当我想将“url”列从200个字符修改为2000个字符时,它不会检测到更改。我如何制作Alembic(使用SQLAlchemy)、检测更改并自动生成脚本到我的模型的各种列的“大小”并为PostgreSQL创建“alter_column”命令??编辑:为什么alembic没有自动添加:op.alter_column('mytable','url',type_=sa.String(2000),existing_type=sa.String(length=200),nullable=True)

python - SQLAlchemy 还是 psycopg2?

我正在编写一个快速而肮脏的脚本,它需要与数据库(PG)交互。脚本是针对现有问题的务实的战术解决方案。然而,我设想脚本会随着时间的推移演变成一个更“精致”的系统。鉴于它目前正在非常迅速地组合在一起(即我没有时间倾注大量文档),我很想走快速而肮脏的路线,使用psycopg。psycopg2的优点(据我目前的理解)是:用C编写,比sqlAlchemy(用Python编写)快吗?DBAPI上没有抽象层,因为只使用一个db和一个db(暗示->快速)(目前),我不需要ORM,所以我可以直接执行我的SQL语句,而无需学习新的ORM语法(即轻量级)缺点:我知道我会想要一个更进一步的ORMpsycopg

python - SQLAlchemy 还是 psycopg2?

我正在编写一个快速而肮脏的脚本,它需要与数据库(PG)交互。脚本是针对现有问题的务实的战术解决方案。然而,我设想脚本会随着时间的推移演变成一个更“精致”的系统。鉴于它目前正在非常迅速地组合在一起(即我没有时间倾注大量文档),我很想走快速而肮脏的路线,使用psycopg。psycopg2的优点(据我目前的理解)是:用C编写,比sqlAlchemy(用Python编写)快吗?DBAPI上没有抽象层,因为只使用一个db和一个db(暗示->快速)(目前),我不需要ORM,所以我可以直接执行我的SQL语句,而无需学习新的ORM语法(即轻量级)缺点:我知道我会想要一个更进一步的ORMpsycopg

python - Postgresql DROP TABLE 不起作用

我正在尝试使用"DROPTABLE"命令删除一些表,但由于未知原因,程序只是“坐下”,并没有删除我希望它删除的表在数据库中。我在数据库中有3个表:Product、Bill和Bill_Products用于在bills中引用产品。我设法删除/删除了产品,但我不能为bill和Bill_Products做同样的事情。我正在发出相同的"DROPTABLEBillCASCADE;"命令,但命令行只是停止。我也使用了没有CASCADE选项的简单版本。你知道为什么会这样吗?更新:我一直在想,数据库有可能保留一些从产品到账单的引用,也许这就是它不会删除账单表的原因。因此,就此而言,我发布了一个简单的SE

python - Postgresql DROP TABLE 不起作用

我正在尝试使用"DROPTABLE"命令删除一些表,但由于未知原因,程序只是“坐下”,并没有删除我希望它删除的表在数据库中。我在数据库中有3个表:Product、Bill和Bill_Products用于在bills中引用产品。我设法删除/删除了产品,但我不能为bill和Bill_Products做同样的事情。我正在发出相同的"DROPTABLEBillCASCADE;"命令,但命令行只是停止。我也使用了没有CASCADE选项的简单版本。你知道为什么会这样吗?更新:我一直在想,数据库有可能保留一些从产品到账单的引用,也许这就是它不会删除账单表的原因。因此,就此而言,我发布了一个简单的SE

Python psycopg2 没有插入到 postgresql 表中

我正在使用以下方法尝试将记录插入到postgresql数据库表中,但它不起作用。我没有收到任何错误,但表中没有记录。我需要提交还是什么?我正在使用通过Bitnamidjangostack安装的postgresql数据库。importpsycopg2try:conn=psycopg2.connect("dbname='djangostack'user='bitnami'host='localhost'password='password'")except:print"Cannotconnecttodb"cur=conn.cursor()try:cur.execute("""inserti

Python psycopg2 没有插入到 postgresql 表中

我正在使用以下方法尝试将记录插入到postgresql数据库表中,但它不起作用。我没有收到任何错误,但表中没有记录。我需要提交还是什么?我正在使用通过Bitnamidjangostack安装的postgresql数据库。importpsycopg2try:conn=psycopg2.connect("dbname='djangostack'user='bitnami'host='localhost'password='password'")except:print"Cannotconnecttodb"cur=conn.cursor()try:cur.execute("""inserti

python - SQLAlchemy - 在 postgresql 中执行批量 upsert(如果存在,更新,否则插入)

我正在尝试使用SQLAlchemy模块(不在SQL中!)在python中编写批量upsert。我在SQLAlchemy添加时收到以下错误:sqlalchemy.exc.IntegrityError:(IntegrityError)duplicatekeyvalueviolatesuniqueconstraint"posts_pkey"DETAIL:Key(id)=(TEST1234)alreadyexists.我有一个名为posts的表,其中id列上有一个主键。在这个例子中,我已经在数据库中有一行id=TEST1234。当我尝试db.session.add()将id设置为TEST123

python - SQLAlchemy - 在 postgresql 中执行批量 upsert(如果存在,更新,否则插入)

我正在尝试使用SQLAlchemy模块(不在SQL中!)在python中编写批量upsert。我在SQLAlchemy添加时收到以下错误:sqlalchemy.exc.IntegrityError:(IntegrityError)duplicatekeyvalueviolatesuniqueconstraint"posts_pkey"DETAIL:Key(id)=(TEST1234)alreadyexists.我有一个名为posts的表,其中id列上有一个主键。在这个例子中,我已经在数据库中有一行id=TEST1234。当我尝试db.session.add()将id设置为TEST123