Hanami::Model 指南

Hanami::Model 指南

modelRuby persistence framework with entities and repositories项目地址:https://gitcode.com/gh_mirrors/model7/model

项目目录结构及介绍

Hanami::Model 是一个用于 Ruby 的轻量级 ORM(对象关系映射),它专注于简洁与分离关注点。在典型的 Hanami::Model 项目中,您会遇到以下核心目录结构:

  • src: 这个目录存放主要的应用代码。
    • hanami/model: 当您使用 Hanami Model 时,可能不需要直接修改这里的文件,但这是框架的核心代码所在。
  • config: 包含应用的配置文件。
    • config/environment.rb: 应用启动时首先加载的文件,用于设置环境和初始化应用程序。
    • config/repositories.rb: 在这里定义您的数据仓库,即如何映射模型到数据库表。
  • db: 数据库相关的文件,虽然在 Hanami Model 中这更多涉及迁移和种子数据,但在 Hanami 项目整体中,此目录重要。
    • schema.rb: 描述数据库模式,定义了模型对应的数据库结构。
  • lib: 存放非框架特定的自定义逻辑,对于 Hanami::Model 来说,通常不在此直接创建模型类,而是遵循 Hanami 的架构推荐,将模型放置在src下。
  • models (或在某些 Hanami 架构布局中): 直接位于项目根目录或指定路径,存放所有模型定义文件。

项目的启动文件介绍

Hanami 项目没有传统意义上的“启动文件”来直接引导 Hanami::Model。然而,应用程序的入口点通常是 bin/hanami, 它通过调用 hanami server 或其他命令来启动相应服务。真正涉及到初始化 Hanami::Model 配置和环境的是 config/environment.rb 文件,在这里可以进行如数据库连接等的配置初始化工作。

# config/environment.rb
require 'hanami/model'

Hanami::Model.configure do
  adapter :sql, database: 'sqlite3:///db/app.db'
end

这段配置指定了 Hanami::Model 使用 SQL 适配器,并设置了 SQLite3 数据库存储位置。

项目的配置文件介绍

主配置 - config/environment.rb

正如前面提到,Hanami::Model 的配置大多发生在 config/environment.rb。在这个文件里,您可以设置数据库连接参数,启用或禁用特性,以及任何特定于 Hanami::Model 的全局配置选项。

Hanami::Model.settings do
  # 示例配置,实际使用需根据需求调整
  repository do
    adapter  :rom_sql
    dataset  'postgresql://localhost/my_database'
  end
end

请注意,随着 Hanami 生态系统的更新,配置细节可能会有所变动,建议查阅最新的 Hanami 文档以获取最准确的信息。

数据仓库配置 - config/repositories.rb

此外,尽管严格上不算是“配置文件”,但 config/repositories.rb 用于定义和配置数据仓库,这些仓库是模型与数据库交互的关键抽象层。

repositories do
  define :default do
    use :memory
    entities User
  end
end

这个例子展示了如何定义一个使用内存存储的数据仓库,并且注册了 User 实体。

综上所述,汉密斯模型的设置分散在几个关键文件之中,确保了高度的可定制性和清晰的项目组织结构。

modelRuby persistence framework with entities and repositories项目地址:https://gitcode.com/gh_mirrors/model7/model

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孔卿菡Warrior

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值