问题标签 [ecto]

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 投票
4 回答
2233 浏览

mysql - Ecto 为 Mysql/Mariadb 创建唯一索引失败

我尝试进行以下迁移:

也尝试过create unique_index :shoppers, [:name], name: :name_unique,create unique_index :shoppers, [:name], name: "name_unique"create index(:shoppers, [:name], unique: true)

但他们因类似错误而失败:

任何帮助将不胜感激,以帮助我解决错误。

注意:我正在使用 ecto 1.02

以下是创建的第一个迁移mix phoenix.gen.model

信息:该name字段是 utf8mb4,由我的架构指定

更新:我知道解决方案是减少name字段长度,但是如何使它与凤凰模型和迁移一起工作?因为它期望一个字符串?

0 投票
2 回答
5892 浏览

postgresql - 如何清理使用 Phoenix/Ecto 创建的 PostgreSQL 数据库

我开始和 Ecto 一起玩,试图理解它。正如预期的那样,我搞砸了(使用用户模型)并且在运行迁移时出现错误:

现在,我想使用 shell/PgAdmin III 清理数据库,这样我就可以修复我的模型并再次运行迁移。我已经设置了 PgAdmin,但我看不到任何“用户”表......这样做的最佳方法是什么(使用 Ecto、PostgreSQL shell 或 PgAdmin)?

0 投票
1 回答
7069 浏览

elixir - 如何从 Ecto 模型中删除字段

我想从现有的 Ecto 模型中删除一个字段:

阅读文档后,我不确定最好/最简单的方法是什么(删除(列))?...你能举例说明吗?我试过了:

它不工作。

0 投票
1 回答
117 浏览

postgresql - 显示 Ecto 模型字段的命令,如 Phoenixframework 指南中所示

我想知道在 Phoenixframework 指南网站的 Ecto Model 章节中显示实际用户表的命令是什么:

0 投票
1 回答
1108 浏览

nested - Ecto - 更新嵌套(多态)关联

如何使用嵌套关联更新模型(使用 [Elixir, Phoenix, Ecto])?

我尝试了以下方法,将其视为其父更新的一部分,但没有成功(使用platformatec 博客作为灵感)。

楷模:

请求(补丁):

控制器:

变更集(来自日志):

错误: 自 Ecto v1.0.3 或更高版本起已修复

0 投票
1 回答
10915 浏览

elixir - 在 Elixir 中将 Ecto 模型编码为 JSON

我正在阅读以下教程,试图了解长生不老药和凤凰:

https://thoughtbot.com/blog/testing-a-phoenix-elixir-json-api

我在测试中遇到了问题,主要是使用 Poison.encode!在接触模型上。我收到以下错误:

这导致我遇到以下问题:

https://github.com/elixir-lang/ecto/issues/840 和修​​复: https ://coderwall.com/p/fhsehq/fix-encoding-issue-with-ecto-and-poison

我已将博客文章中的代码添加到 lib/poison_encoder.ex 中,但现在出现以下错误:

我在 lib/poison_encoder.ex 中的代码:

0 投票
1 回答
907 浏览

elixir - Phoenix 和 Ecto 以及 SELECTs

我在凤凰城的 Ecto 模型中建立了一个协会。一个组织有许多组织成员。在 OrganizationMember 控制器的 Edit 方法中,我试图创建一个 SELECT 元素,该元素将包含所有可供选择的组织。在编辑定义中,我有以下两行:

这是我在模板中显示选择的行:

如果我保留第一行的注释,我会在模板选择中收到此错误:

#Ecto.Query 未实现协议可枚举

如果我使用第一行并注释第二行,我会在控制器中收到此错误:

#Ecto.Query 未实现协议可枚举

如何让选择正确显示选择下拉列表和值?顺便说一句,organization_id 来自这个:

0 投票
1 回答
13630 浏览

elixir - 如何更改 Ecto 中的字段类型?

我有一个架构:

现在我想将一个字段表单的类型更改:integer:binary. 什么是编写迁移的正确方法,因为使用add不起作用......?

0 投票
1 回答
271 浏览

postgresql - 将数据类型更改为二进制后,从 PSQL shell 中显示空白中选择 *

我将 Ecto/Elixir 与 Postgres 一起使用,并创建了一个二进制数据类型的字段。一切正常,除了现在我进行简单查询时:Select * from "table name";sql shell 只显示空白,似乎不喜欢它......我应该怎么做才能看到这些内容?

0 投票
0 回答
48 浏览

mysql - Elixir:使用 Ecto 修改 MYSQL 中的表列

我目前正在尝试编写Ecto迁移,以便将表列从VARCHAR(255)type 更改为TEXT. 到目前为止,我没有运气,即使迁移“成功”运行。我甚至在迁移中尝试了原始 SQL:

schema_migrations在更改文件以确保它再次运行时,我还手动从表中删除了迁移。

任何提示都将受到欢迎。

更新。

应该更好地阅读文档:

它也已在其他地方得到回答,请参阅Gazler 的回复