Logo
☆☆☆☆☆
0.0
Intermediate
60h

使用 Ecto 在 Elixir 中构建数据库应用

Ecto 是一个原生集成于 Phoenix 的数据库库,也是 Elixir 生态系统中的重要组成部分。 本课程既是 Ecto 功能的入门介绍,也是一份全面的指南。你将从关系型数据库的基本概念入手——仓库(repos)、查询、数据模型(schemas)、变更集(changesets)和事务,逐步建立对 Elixir 和 Ecto 的理解。通过应对越来越复杂的挑战,你将掌握 Ecto 的语法,并最终构建一个示例应用。随后,你将创建多种嵌套的数据模型,完成数据库应用的开发,并通过自行设计的并发测试验证其性能。 在 Elixir 核心团队专家(同时也是 Ecto 的共同创建者)的指导下,本课程将帮助你利用这一快速发展的函数式编程环境,高效地构建数据库应用。

21 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
使用 Ecto 在 Elixir 中构建数据库应用
Ecto 是一个原生集成于 Phoenix 的数据库库,也是 Elixir 生态系统中的重要组成部分。 本课程既是 Ecto 功能的入门介绍,也是一份全面的指南。你将从关系型数据库的基本概念入手——仓库(repos)、查询、数据模型(schemas)、变更集(changesets)和事务,逐步建立...

WHAT YOU'LL LEARN

学习如何使用 Ecto 将你的 Elixir 应用程序连接到关系型数据库

Content

21 Lessons • 0 Quizzes • 0 Challenges

课程简介
  1. 1

    为什么选择 Ecto?

  2. 2

    课程计划

第一部分:Ecto 基础知识
  1. 1

    第一部分概述

第二部分:Ecto 实践应用
  1. 1

    第二部分概述

开始使用 Repo
  1. 1

    Ecto 和 Elixir

  2. 2

    Ecto 的特点

  3. 3

    Ecto 模块

  4. 4

    设置示例应用程序

  5. 5

    运行示例

  6. 6

    示例应用程序的数据模型

  7. 7

    仓库模式

  8. 8

    仓库模块

  9. 9

    让仓库发挥作用

  10. 10

    获取返回的值

  11. 11

    执行查询

  12. 12

    自定义你的仓库

  13. 13

    总结:开始使用 Repo

  14. 14

    练习:自定义你的仓库模块

  15. 15

    解决方案:自定义你的仓库模块

  16. 16

    测验:开始使用仓库

在不使用 Phoenix 的情况下向 Elixir 应用程序添加 Ecto
  1. 1

    Ecto 在 Elixir 应用中的简介

  2. 2

    创建新项目

  3. 3

    创建你的仓库模块

  4. 4

    将 Ecto 添加到监督树中

  5. 5

    使用多个 Ecto 仓库

  6. 6

    开始你的应用

  7. 7

    总结:在不使用 Phoenix 的情况下向 Elixir 应用添加 Ecto

  8. 8

    测验:在不使用 Phoenix 的情况下为应用添加 Ecto

查询您的数据库
  1. 1

    查询模块简介

  2. 2

    查询基础

  3. 3

    通过 Where 表达式优化我们的结果

  4. 4

    防范 SQL 注入

  5. 5

    动态值及其类型

  6. 6

    查询绑定

  7. 7

    插入原始 SQL

  8. 8

    使用 union 和 union_all 选项合并结果

  9. 9

    排序与分组

  10. 10

    使用连接操作

  11. 11

    为什么要使用查询组合

  12. 12

    命名绑定

  13. 13

    使用函数组合查询

  14. 14

    使用 or_where 组合查询

  15. 15

    查询的其他使用方式

  16. 16

    总结:查询你的数据库

  17. 17

    练习:在 Ecto 中创建查询

  18. 18

    解决方案:在 Ecto 中创建查询

  19. 19

    测验:查询你的数据库

使用 Changesets 和 Phoenix 表单
  1. 1

    Ecto 和 Phoenix 表单:入门指南

  2. 2

    为单个模式生成表单

  3. 3

    显示变更集错误

  4. 4

    创建一个带有关联的表单

  5. 5

    创建一个包含多个关联的表单

  6. 6

    总结:在 Phoenix 表单中使用 Changesets

  7. 7

    测验:使用 Changesets 和 Phoenix 表单

使用 Schema 将数据表连接到 Elixir 结构体
  1. 1

    模式简介

  2. 2

    创建模式

  3. 3

    如何编写带模式的查询

  4. 4

    使用模式插入

  5. 5

    使用模式删除

  6. 6

    向模式中添加关联关系

  7. 7

    多对多关联

  8. 8

    在查询中使用关联关系

  9. 9

    通过嵌入模式优化关联关系

  10. 10

    删除具有关联关系的记录

  11. 11

    使用模式填充数据库

  12. 12

    总结:使用 Schema 将数据表与 Elixir 结构体关联

  13. 13

    练习:在 Ecto 中创建数据模型(Schema)

  14. 14

    解决方案:在 Ecto 中创建模式

  15. 15

    测验:使用 Schema 将表连接到 Elixir 结构体

使用沙箱进行测试
  1. 1

    沙箱简介

  2. 2

    设置一个异步测试

  3. 3

    更改所有者模式

  4. 4

    安全地通过许可共享连接

  5. 5

    总结:使用沙箱进行测试

  6. 6

    测验:使用沙箱测试

使用 Changesets 进行更改
  1. 1

    更改集简介

  2. 2

    转换和过滤

  3. 3

    验证您的数据

  4. 4

    处理约束条件

  5. 5

    捕获错误

  6. 6

    无需模式即可使用 Changesets

  7. 7

    使用关联关系

  8. 8

    使用内部数据建立关联

  9. 9

    使用外部数据建立关联

  10. 10

    使用关联更新记录

  11. 11

    关联的最佳实践

  12. 12

    总结:使用 Changesets 进行变更管理

  13. 13

    练习:在 Ecto 中创建变更集

  14. 14

    解决方案:在 Ecto 中创建变更集

  15. 15

    测验:使用 Changesets 进行更改

创建和使用自定义类型
  1. 1

    Ecto 中的自定义类型简介

  2. 2

    基于 Ecto 类型构建

  3. 3

    添加自定义类型而不使用内置类型

  4. 4

    总结:创建和使用自定义类型

  5. 5

    测验:创建和使用自定义类型

使用事务和 Multi 进行多次更改
  1. 1

    事务简介与多模块架构

  2. 2

    使用函数运行事务

  3. 3

    在事务中强制回滚

  4. 4

    在事务中执行非数据库操作

  5. 5

    使用函数的缺点

  6. 6

    使用 Ecto.Multi 执行事务并捕获错误

  7. 7

    使用 Changesets 优化 Multi

  8. 8

    使用 Multi 执行非数据库操作

  9. 9

    总结:使用事务进行多次更改

  10. 10

    练习:使用事务和 Multi 进行多次更改

  11. 11

    解决方案:使用事务和 Multi 进行多次更改

  12. 12

    测验:进行多次更改

使用 upsert 进行插入和更新
  1. 1

    插入或更新(Upserts)简介

  2. 2

    无需模式即可执行插入或更新操作

  3. 3

    使用模式执行插入或更新操作

  4. 4

    总结:使用 upsert 实现插入和更新

  5. 5

    练习:使用 Ecto 的 upsert 功能

  6. 6

    解决方案:使用 Ecto 的 upsert 功能

  7. 7

    测验:使用 upsert 进行插入和更新

对数据库进行修改
  1. 1

    什么是迁移?

  2. 2

    你的第一个迁移

  3. 3

    运行迁移

  4. 4

    添加索引

  5. 5

    同时更改数据和表结构

  6. 6

    指定上移和下移操作

  7. 7

    更改默认行为

  8. 8

    更改时间戳

  9. 9

    在事务之外运行迁移

  10. 10

    总结:对数据库进行修改

  11. 11

    练习:创建迁移

  12. 12

    解决方案:创建迁移

  13. 13

    测验:修改你的数据库

优化你的应用设计
  1. 1

    优化应用设计简介

  2. 2

    将纯代码与不纯代码分离

  3. 3

    使用上下文

  4. 4

    使用 Umbrella 应用程序

  5. 5

    总结:优化你的应用设计

  6. 6

    测验:优化你的应用设计

使用嵌入式模式
  1. 1

    嵌入式模式简介

  2. 2

    创建嵌入式模式

  3. 3

    修改嵌入数据

  4. 4

    在嵌入式模式和关联模式之间进行选择

  5. 5

    总结:处理嵌套的模式

  6. 6

    测验:处理嵌套模式

创建多态关联
  1. 1

    多态关联简介

  2. 2

    其他框架中的多态性

  3. 3

    方法一:多个外键

  4. 4

    方法二:使用抽象模式

  5. 5

    方法三:使用 many_to_many

  6. 6

    总结:创建多态关联

  7. 7

    测验:创建多态关联

为 Ecto 优化 IEx
  1. 1

    Ecto 优化 IEx 的入门指南

  2. 2

    添加导入和别名

  3. 3

    添加辅助函数

  4. 4

    总结:优化 IEx 以用于 Ecto

  5. 5

    测验:优化 IEx 以用于 Ecto

无需表即可使用模式
  1. 1

    无表模式简介

  2. 2

    模式和表

  3. 3

    创建无表结构的模式

  4. 4

    保存无表结构

  5. 5

    总结:无需表即可使用模式

  6. 6

    测验:在没有表的情况下使用模式

性能调优
  1. 1

    性能调优入门

  2. 2

    优化

  3. 3

    执行批量操作

  4. 4

    使用流来获取大型数据集

  5. 5

    总结:性能调优

  6. 6

    测验:性能调优

结论
  1. 1

    结语

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)