3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/translink/db.rb', line 3
def self.context uri, options = {}
DataMapper.setup :default, uri
DataMapper.repository :default do |repository|
DataMapper.finalize
repository.adapter.execute " PRAGMA foreign_keys=ON;\n SQL\n if options[:migrate]\n repository.adapter.execute <<-SQL\n DROP TABLE IF EXISTS \"routes\";\n CREATE TABLE \"routes\" (\n \"route_id\" TEXT NOT NULL PRIMARY KEY UNIQUE,\n \"short_name\" TEXT NOT NULL,\n \"long_name\" TEXT NOT NULL,\n \"route_type\" INTEGER NOT NULL\n );\n\n DROP TABLE IF EXISTS \"trips\";\n CREATE TABLE \"trips\" (\n \"trip_id\" INTEGER NOT NULL PRIMARY KEY UNIQUE,\n \"direction\" INTEGER NOT NULL,\n \"headsign\" TEXT NOT NULL,\n \"route_id\" TEXT NOT NULL,\n FOREIGN KEY (\"route_id\") REFERENCES \"routes\" (\"route_id\") ON DELETE CASCADE\n );\n\n CREATE INDEX \"index_trips_on_route_id\" ON \"trips\" (\"route_id\");\n\n DROP TABLE IF EXISTS \"stop_times\";\n CREATE TABLE \"stop_times\" (\n \"arrival_time\" STRING NOT NULL,\n \"stop_sequence\" INTEGER NOT NULL,\n \"stop_id\" TEXT NOT NULL,\n \"trip_id\" INTEGER NOT NULL,\n PRIMARY KEY (\"arrival_time\", \"stop_id\", \"trip_id\"),\n FOREIGN KEY (\"stop_id\") REFERENCES \"stops\" (\"stop_id\") ON DELETE RESTRICT,\n FOREIGN KEY (\"trip_id\") REFERENCES \"trips\" (\"trip_id\") ON DELETE CASCADE\n );\n\n DROP TABLE IF EXISTS \"stops\";\n CREATE TABLE \"stops\" (\n \"stop_id\" TEXT NOT NULL PRIMARY KEY UNIQUE,\n \"stop_name\" TEXT NOT NULL,\n \"stop_lat\" REAL NOT NULL,\n \"stop_lon\" REAL NOT NULL\n );\n SQL\n end\n yield if block_given?\n end\nend\n"
|