ActiveRecord-TiDB适配器使用指南
目录结构及介绍
在activerecord-tidb-adapter
项目中,主要的目录结构及功能描述如下:
主要目录
- bin: 包含脚本用于初始化环境或执行特定任务。
- lib: 存储了核心代码逻辑和类定义,包括了
activerecord-tidb-adapter
的主要功能实现。 - test: 测试文件的位置,包含单元测试和其他验证代码正确性的工具。
其他重要文件
- .gitignore: 指定了哪些文件应该被Git忽略不进行版本控制。
- Gemfile: 定义了项目依赖的Ruby gems列表,便于项目构建。
- Gemfile.lock: Gemfile的具体锁定版本,确保项目在不同环境中的一致性。
- LICENSE: 授权协议的详细说明,本项目遵循Apache-2.0许可证。
- README.md: 项目的简短介绍和安装指南等信息。
- Rakefile: 定义了一系列的任务(rake tasks),用于简化一些开发流程,如编译、测试、部署等操作。
- activerecord-tidb-adapter.gemspec: 描述了gem的相关元数据。
- config.toml: 可能用于自定义配置的TOML文件,在某些场景下会被其他工具使用。
启动文件介绍
虽然activerecord-tidb-adapter
作为一个库,其本身没有单一的“启动”点,但在Rails应用中集成TiDB的过程中,以下文件起到关键的作用:
config/application.rb
: 在这个Rails应用配置文件中,您将配置数据库适配器指向activerecord-tidb-adapter
。
例如:
require 'active_record/tidb'
Bundler.require(*Rails.groups)
module YourAppName
class Application < Rails::Application
# 配置ActiveRecord以使用TiDB作为数据存储
initializer 'your_app_name.active_record_tidb' do |app|
app.config.active_record.adapters ||= {}
app.config.active_record.adapters['tidb'] = ActiveRecord::TiDBAdapter
end
end
end
配置文件介绍
项目中最关键的配置文件是config/database.yml
,它用来设定各种环境下数据库的连接细节:
config/database.yml
示例配置
default: &default
adapter: tidb
encoding: utf8mb4
collation: utf8mb4_general_ci
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
host: 127.0.0.1
port: 4000
variables:
tidb_enable_noop_functions: ON
username: root
password:
development:
<<: *default
database: activerecord_tidb_adapter_demo_development
在这个配置文件中,我们定义了默认的数据库连接参数,以及针对不同环境(如development)的覆盖值。这里指明了TiDB服务的基本连接信息,包括主机地址、端口、用户名、密码以及一些额外的配置选项(如启用无操作函数)。这些设置对于在Rails应用中成功地利用activerecord-tidb-adapter
至关重要。