从外部.sql文件执行SQL语句

时间:2013-03-06 11:43:16

标签: sequel

我有一个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文件

1 个答案:

答案 0 :(得分:2)

要么我没有正确理解目标,要么为什么不从文件中读取语句并使用默认的ActiveRecord方法执行它们?

ActiveRecord::Base.execute File.read('PATH_TO_FILE')

Sequel

DB.run File.read('PATH_TO_FILE')