问题标签 [python-elixir]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
378 浏览

python - Elixir 没有使用默认值创建我的表

在这种情况下,我使用的是 MySQL,但也检查了 SQLite,我得到了相同的结果。它尊重nullable,但完全忽略default。我没有收到任何错误消息,它可以很好地创建表。我可以返回并添加默认值,但如果可能的话,我想避免这种严重的痛苦。

我已经尝试过使用其他 Field 类型,但仍然没有乐趣。

0 投票
5 回答
3921 浏览

python - 使用 Elixir 执行 sql 查询

我在一个连接到 postgres 数据库的项目中使用 Elixir。我想在我连接到的数据库上运行以下查询,但我不知道该怎么做,因为我对 Elixir 和 SQLAlchemy 还很陌生。有谁知道怎么做?

VACUUM FULL ANALYZE table

更新

错误是:“UnboundExecutionError:找不到在 SQL 表达式或此会话上配置的绑定”。与之前发出的 session.close() 的结果相同。我确实尝试过 metadata.bind.execute() 并且适用于简单的选择。但是对于 VACUUM 它说 - “InternalError: (InternalError) VACUUM 不能在事务块内运行”,所以现在我想弄清楚如何关闭它。

更新 2

我可以执行查询,但我仍然遇到同样的错误——即使我创建了一个新会话并关闭了前一个会话。

我得到的输出是

更新 3

感谢大家的回应。我无法找到我想要的解决方案,但我想我将使用此处描述的PostgreSQL - 如何从事务块外的代码运行 VACUUM?. 这并不理想,但它有效。

0 投票
5 回答
98436 浏览

python - 在 SQLAlchemy/Elixir 中选择不同的列值

在我使用 SQLAlchemy 和 Elixir 编写的一个小脚本中,我需要获取特定列的所有不同值。在普通 SQL 中,这将是一个简单的问题

而且我知道我可以“手动”运行该查询,但如果可以的话,我宁愿坚持使用 SQLAlchemy 声明性语法(和/或 Elixir)。我敢肯定这一定是可能的,我什至在 SQLAlchemy 文档中看到了对这种事情的暗示,但是我已经在该文档中寻找了几个小时(以及 Elixir 的文档),我就是不能似乎实际上弄清楚了如何完成。那么我错过了什么?

0 投票
1 回答
906 浏览

python - Elixir create_all() 不创建数据库和表

我正在使用 Elixir 0.7.1、Sqlalchemy 0.6beta1、MySQLdb 1.2.2。我的模型文件“model.py”如下所示:

执行后: python model.py ,没有创建表,也没有抛出错误。以下是发送到 SQL 服务器的 echo 的命令列表:

我已经搜索了解决方案,但找不到任何解决方案。

0 投票
1 回答
390 浏览

python - 如何在 Elixir 和 Pylons 的多态继承中创建自我关系?

我是编程新手,我正在按照 Pylons 文档中有关创建 Wiki 的示例进行操作。我想链接到 wiki 的数据库是用 Elixir 创建的,所以我重写了 Wiki 数据库模式并从那里继续。

在 wiki 中,需要一个由 Pages 和 Sections 继承的导航表。一个部分可以有很多页,而一个页面只能有一个部分。此外,每个兄弟节点可以相互链式引用。

所以:

  • 导航有“部分”(OneToMany)和“之前”(OneToOne - 引用前一个节点)
  • 页面有“部分”(ManyToOne - 一个部分中有许多页面)并继承“之前”
  • 部分从 Nav 继承所有

我编写的代码如下所示:

收到的错误:

sqlalchemy.exc.OperationalError: (OperationalError) table nav has no column named aftr_id u'INSERT INTO nav (name, path, aftr_id, row_type) VALUES (?, ?, ?, ?)'

我也试过:

在 Nav 上,希望这可能会解决问题,但也不是。

这些声明的教程中的原始 SQLAlchemy 代码如下:

任何帮助深表感谢。

0 投票
1 回答
164 浏览

python - 在 Elixir 或 SQLAlchemy 中,有没有办法为我的实体中的每个字段存储评论?

我们的项目基本上是几个记录系统的 Web 界面。我们映射了许多表,每列的名称并没有我们希望的那样命名和直观......用户想知道哪些数据字段可用(即从数据库映射的内容)。但是,只给他们列名是没有意义的:USER_REF1、USER_REF2 等。

所以,我想知道,有没有办法在我的领域声明中提供评论?

例如

如果没有,有什么建议吗?

0 投票
0 回答
262 浏览

python - 使用 Elixir 到同一个表的多个外键

一般来说,我是 ORM 的新手。我有一个带有列的表(我们称之为实体)——

  1. ID
  2. 表达
  3. 类型(可以是“long_word”、“short_word”或“sentence”)

通常,前两种类型出现在“ sentence”中,因此,我想维护另一个表,该表使用“ ”字段将“ Sentences”映射到“ long_word”或“ ”。short_wordID

我需要的只是另一个表,其中 2 ' Integer fields' 指的是 ' ID' 作为外键。

但是,我如何在 Elixir 中做到这一点?

编辑:我担心它最终会变成这样。没有汗水,SQLAlchemy 是坚实的,从长远来看是值得的。但我真的希望 Elixir 能奏效。不能以你想要的方式拥有一切。

非常感谢...

0 投票
3 回答
5288 浏览

python - 使用 sqlalchemy 和 elixir 更新 sqlite 数据库模式

我创建了一个使用 elixir/sqlalchemy 存储数据的 python 应用程序。该软件的第二个版本需要更新在先前版本中创建的任何文件,以便添加/删除表和列。

我的问题是:我怎样才能做到这一点?我知道sqlalchemy-migrate,但我必须说我觉得它令人困惑。它没有提到现有数据会发生什么。此外,sqlite减少了 ALTER TABLE 支持,那么如果我尝试删除列,迁移会做什么?还有其他使用迁移的方法吗?

0 投票
3 回答
1209 浏览

python - 如何创建一个非持久的 Elixir/SQLAlchemy 对象?

由于遗留数据在数据库中不可用,但有一些外部文件,我想创建一个 SQLAlchemy 对象,其中包含从外部文件读取的数据,但如果我执行则不会写入数据库session.flush()

我的代码如下所示:

一切正常,除了session.flush()在应用程序中稍后执行的 SQLAlchemy 尝试将创建的 Phone 对象写入数据库(幸运的是没有成功,因为 phone.state 比数据类型允许的长),这破坏了发出的函数冲洗。

有什么方法可以阻止 SQLAlchemy 尝试编写这样的对象?

更新

虽然我没有找到任何东西

在 Elixir 文档中(也许你可以提供一个链接?),在我看来值得一试(我更喜欢一种方法来防止编写单个实例而不是整个实体)。

起初,该语句似乎没有效果,我怀疑我的 SQLAlchemy/Elixir 版本太旧,但后来我发现与 PurchaseOrderPosition 实体(我没有修改)的连接是用

导致电话对象再次被写入。如果我删除该声明,一切似乎都很好。

0 投票
3 回答
1911 浏览

python - Sqlalchemy+elixir:如何查询多对多关系?

我正在将 sqlalchemy 与 Elixir 一起使用,并且在尝试进行查询时遇到了一些麻烦..

我有 2 个实体,客户和客户列表,具有多对多关系。

我正在尝试与一些客户一起找到 CustomerList:

但我收到错误:NameError:

未定义全局名称“客户”

客户似乎与实体字段无关,有一个特殊的查询表单可以处理关系(或多对多关系)?

谢谢