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
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# File 'lib/sportdb/schema.rb', line 6
def self.up
ActiveRecord::Schema.define do
create_table :props do |t|
t.string :key, :null => false
t.string :value, :null => false
t.timestamps
end
create_table :teams do |t|
t.string :title, :null => false
t.string :title2
t.string :key, :null => false t.string :tag t.timestamps
end
add_index :teams, :key, :unique => true
create_table :events do |t|
t.string :title, :null => false
t.string :key, :null => false t.datetime :start_at, :null => false
t.timestamps
end
add_index :events, :key, :unique => true
create_table :rounds do |t|
t.references :event, :null => false
t.string :title, :null => false
t.string :title2
t.integer :pos, :null => false
t.boolean :playoff, :null => false, :default => false t.timestamps
end
add_index :rounds, :event_id
create_table :groups do |t| t.references :event, :null => false
t.string :title, :null => false
t.integer :pos, :null => false
t.timestamps
end
add_index :groups, :event_id
create_table :games do |t|
t.references :round, :null => false
t.integer :pos, :null => false
t.references :group t.references :team1, :null => false
t.references :team2, :null => false
t.datetime :play_at, :null => false
t.boolean :knockout, :null => false, :default => false
t.boolean :home, :null => false, :default => true t.integer :score1
t.integer :score2
t.integer :score3 t.integer :score4
t.integer :score5 t.integer :score6
t.references :next_game t.references :prev_game
t.string :toto12x t.string :key t.timestamps
end
add_index :games, :key, :unique => true
add_index :games, :round_id add_index :games, :group_id add_index :games, :next_game_id add_index :games, :prev_game_id
create_table :events_teams do |t|
t.references :event, :null => false
t.references :team, :null => false
t.timestamps
end
add_index :events_teams, [:event_id,:team_id], :unique => true
add_index :events_teams, :event_id
create_table :groups_teams do |t|
t.references :group, :null => false
t.references :team, :null => false
t.timestamps
end
add_index :groups_teams, [:group_id,:team_id], :unique => true
add_index :groups_teams, :group_id
end
Prop.create!( :key => 'db.schema.version', :value => SportDB::VERSION )
end
|