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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# File 'lib/turl.rb', line 23
def self.prepare_database!
CACHE_PATH.mkpath
ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: DATABASE_PATH.to_s)
unless DATABASE_PATH.exist?
" create table links (\n id integer primary key,\n\n normalized_url text not null,\n title text,\n\n created_at datetime not null,\n updated_at datetime not null\n );\n\n create unique index uniq_links_url_tweet on links(normalized_url);\n\n create table tweets (\n id integer primary key,\n twitter_id text not null,\n\n twitter_user_id integer not null,\n content text not null,\n tweeted_at datetime not null,\n\n created_at datetime not null,\n updated_at datetime not null\n );\n\n create unique index uniq_tweets_twitter_id on tweets(twitter_id);\n\n create table tweet_links (\n id integer primary key,\n\n tweet_id integer not null,\n link_id integer not null,\n\n created_at datetime not null,\n updated_at datetime not null\n );\n\n create unique index uniq_tweet_links_tweet_link on tweet_links(tweet_id, link_id);\n\n create table twitter_users (\n id integer primary key,\n twitter_id text not null,\n\n screen_name text not null,\n\n created_at datetime not null,\n updated_at datetime not null\n );\n\n create unique index uniq_twitter_users_twitter_id on twitter_users(twitter_id);\n\n create table url_normalizations (\n id integer primary key,\n\n original_url text not null,\n normalized_url text not null,\n\n created_at datetime not null,\n updated_at datetime not null\n );\n\n create unique index uniq_url_normalizations_original_url on url_normalizations(original_url);\n SQL\n end\nend\n".split(';').select(&:present?).each { |sql| ActiveRecord::Base.connection.execute(sql) }
|