在Ruby Sinatra中使用SQL脚本和DataMapper创建简单表的最佳方法是什么?

时间:2012-12-28 00:21:19

标签: sql ruby sinatra datamapper

我想在我的Sinatra应用程序中创建一个简单的表,使用DataMapper进行数据库连接,使用以下SQL:

CREATE TABLE `prov_abbrev` (
  `abbrev` varchar(2) NOT NULL DEFAULT '',
  `province` varchar(256) NOT NULL DEFAULT ''
) DEFAULT CHARSET=utf8;

    INSERT INTO `prov_abbrev` (`abbrev`,`province`)
    VALUES
    ('AB','Alberta'),
    ('BC','British Columbia'),
    ('MB','Manitoba'),
    ('NB','New Brunswick'),
    ('NL','Newfoundland and Labrador'),
    ('NT','Northwest Territories'),
    ('NS','Nova Scotia'),
    ('NU','Nunavut'),
    ('ON','Ontario'),
    ('PE','Prince Edward Island'),
    ('QC','Quebec'),
    ('SK','Saskatchewan'),
    ('YT','Yukon');

我想在各种应用程序中将它用作各种其他模型的查找表,因此它会被使用很多。做这个的最好方式是什么?仅设置包含数据的哈希/数组会更有意义吗?表格中的数据是否有任何好处,例如能够使用js从表单中查找值... ...

1 个答案:

答案 0 :(得分:1)

我使用Data Mapper Migrations gem:进行向上迁移以创建表,然后在插入行时循环遍历Ruby数组。 (还有一个简单的drop table作为向下迁移)。