我有一个 schema.sql
文件,其中包含 SQL 语句形式的官方数据库结构,例如:
CREATE TABLE directory (id INTEGER PRIMARY KEY, base TEXT, index_file TEXT, default_ctype TEXT, cache_ttl INTEGER DEFAULT 0);
CREATE TABLE handler (id INTEGER PRIMARY KEY,
send_spec TEXT,
send_ident TEXT,
recv_spec TEXT,
recv_ident TEXT,
raw_payload INTEGER DEFAULT 0,
protocol TEXT DEFAULT 'json');
我想将这些语句应用到我的数据库中以创建兼容的架构。有没有一种干净的方法来实现这一目标?
这里的意思很明确:
- 纯 ruby /续集
- 独立于底层数据库引擎
- 不解析
.sql
文件
最佳答案
要么我没有正确理解目标,要么为什么不从文件中读取语句并使用默认的 ActiveRecord
方法执行它们?
ActiveRecord::Base.execute File.read('PATH_TO_FILE')
或使用续集
:
DB.run File.read('PATH_TO_FILE')
关于ruby - 从外部 .sql 文件执行 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15246444/