将模型对象链接到 Vapor 中的现有数据库表

亚历克斯·安德鲁斯

我有一个数据库,其中包含一些复杂的关系映射并填充了大量数据。我的要求是我需要在 Swift-Vapor 服务器上使用这个数据库。

所以我创建了一个类似于数据库模式的模型对象(使用 Fluent 框架构造),以处理蒸气服务器和数据库之间的数据流。

当需要将数据库表(用户表)与模型(用户模型)链接时,我发现了这个方法,它应该在模型类中实现。

static func prepare(_ database: Database) throws {
    try database.create("users") { users in
        users.id()
        users.string("name")
    }
}

因为我不需要为已经存在的数据库定义架构,所以这个准备方法没有实现。

结果是我无法与 db 交互,对于任何操作,例如 userObj.save()

借助模型对象内的以下方法实现,我使用 Swift-Perfect Server 实现了同样的事情。这是MySQLStORM在 Perfect的帮助下完成的。

  // Map the model to the database table "user"
  override open func table() -> String {
    return "user"
  }

我正在寻找的是Vapor->是否有可用的这样的选项,以便我可以将模型对象映射到数据库表?

亚历克斯·安德鲁斯

在 Slack 社区中讨论这个问题时得到了一个解决方案,试用并运行良好。

解决方案:在模型类(例如User)中,该prepare方法可以不实现,例如

static func prepare(_ database: Database) throws { 
}

但是应该添加一个静态变量entity,它将映射表名,例如

final class User: Model {
    static let entity = "users"
    ...
}

最后,我们应该将模型添加到液滴准备阵列中,例如

// Let the User be your model object
drop.preparations.append(User.self)

这样我们就可以使用任何具有复杂关系的现有数据库或预先填充的数据表来映射到模型对象,而无需从模型对象构造表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将MVC模型类与现有数据库表和架构匹配

来自分类Dev

使用实体框架将模型映射到现有数据库表

来自分类Dev

如何将MVC模型类与现有数据库表和架构匹配

来自分类Dev

Android将表动态添加到资产文件夹中的现有数据库

来自分类Dev

连接到现有数据库以制作ASP表

来自分类Dev

防止Django创建表-连接到现有数据库

来自分类Dev

使用数据库优先方法EF将新表添加到现有数据库

来自分类Dev

将新表推送到 Heroku,而无需重置现有数据库

来自分类Dev

Elixir ecto连接到现有数据库

来自分类Dev

如何从现有数据库结构生成模型

来自分类Dev

使用现有数据库,而无需通过播放框架中的模型创建数据库

来自分类Dev

将 Stripe 中的 Checkout 与 NodeJS (Express) 中的现有数据库结合使用

来自分类Dev

将现有数据库用于SSRS

来自分类Dev

是否可以从JHipster中的现有数据库模型生成实体?

来自分类Dev

如何使用实体框架将POCO模型类映射到现有数据库表

来自分类Dev

EF Core 2.2 脚手架现有数据库 - 有没有办法从模型中过滤掉表

来自分类Dev

当数据库属性与 excel ASp.NET / core 中的第一列不匹配时,将数据从 Excel 导入现有数据表

来自分类Dev

将现有数据库添加到PostgreSQL 9.0中

来自分类Dev

将Redis用作现有数据库中的缓存

来自分类Dev

如何将EF核心安装到现有数据库中?

来自分类Dev

将Flyway集成到现有数据库中

来自分类Dev

您可以手动将表和对EF Core Code First中的SP /视图/功能的引用添加到现有数据库中吗?

来自分类Dev

将现有数据对象插入自定义表模型中

来自分类Dev

实体框架7将现有数据库表转换为asp.net mvc中的代码第一类6

来自分类Dev

将数据库架构复制到现有数据库

来自分类Dev

TMSL Xmla在现有数据库上创建表-表格模型脚本语言-Azure Analysis Services

来自分类Dev

如何使用随机生成的ID将现有数据更新到Firebase实时数据库中的数据

来自分类Dev

NetCore 3.1将IdentityServer4与现有数据库和Users表一起使用

来自分类Dev

我该怎么做将新表添加到现有数据库或创建新数据库?

Related 相关文章

  1. 1

    如何将MVC模型类与现有数据库表和架构匹配

  2. 2

    使用实体框架将模型映射到现有数据库表

  3. 3

    如何将MVC模型类与现有数据库表和架构匹配

  4. 4

    Android将表动态添加到资产文件夹中的现有数据库

  5. 5

    连接到现有数据库以制作ASP表

  6. 6

    防止Django创建表-连接到现有数据库

  7. 7

    使用数据库优先方法EF将新表添加到现有数据库

  8. 8

    将新表推送到 Heroku,而无需重置现有数据库

  9. 9

    Elixir ecto连接到现有数据库

  10. 10

    如何从现有数据库结构生成模型

  11. 11

    使用现有数据库,而无需通过播放框架中的模型创建数据库

  12. 12

    将 Stripe 中的 Checkout 与 NodeJS (Express) 中的现有数据库结合使用

  13. 13

    将现有数据库用于SSRS

  14. 14

    是否可以从JHipster中的现有数据库模型生成实体?

  15. 15

    如何使用实体框架将POCO模型类映射到现有数据库表

  16. 16

    EF Core 2.2 脚手架现有数据库 - 有没有办法从模型中过滤掉表

  17. 17

    当数据库属性与 excel ASp.NET / core 中的第一列不匹配时,将数据从 Excel 导入现有数据表

  18. 18

    将现有数据库添加到PostgreSQL 9.0中

  19. 19

    将Redis用作现有数据库中的缓存

  20. 20

    如何将EF核心安装到现有数据库中?

  21. 21

    将Flyway集成到现有数据库中

  22. 22

    您可以手动将表和对EF Core Code First中的SP /视图/功能的引用添加到现有数据库中吗?

  23. 23

    将现有数据对象插入自定义表模型中

  24. 24

    实体框架7将现有数据库表转换为asp.net mvc中的代码第一类6

  25. 25

    将数据库架构复制到现有数据库

  26. 26

    TMSL Xmla在现有数据库上创建表-表格模型脚本语言-Azure Analysis Services

  27. 27

    如何使用随机生成的ID将现有数据更新到Firebase实时数据库中的数据

  28. 28

    NetCore 3.1将IdentityServer4与现有数据库和Users表一起使用

  29. 29

    我该怎么做将新表添加到现有数据库或创建新数据库?

热门标签

归档