miguel 0.1.0.pre4 → 0.1.0.pre5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,128 @@
1
+ create_table :sequel_types do
2
+ Integer :a0
3
+ String :a1
4
+ String :a2, :size => 50
5
+ String :a3, :fixed => true
6
+ String :a4, :fixed => true, :size => 50
7
+ String :a5, :text => true
8
+ File :b
9
+ Fixnum :c
10
+ Bignum :d
11
+ Float :e
12
+ BigDecimal :f
13
+ BigDecimal :f2, :size => 10
14
+ BigDecimal :f3, :size => [10, 2]
15
+ Date :g
16
+ Time :i2, :only_time => true
17
+ Numeric :j
18
+ TrueClass :k
19
+ FalseClass :l
20
+ end
21
+ create_table :miguel_types do
22
+ integer :key, :null => false, :unsigned => false
23
+ String :string, :null => false
24
+ String :text, :null => false, :text => true
25
+ File :blob, :null => false
26
+ Integer :int, :null => false
27
+ integer :signed, :null => false, :unsigned => false
28
+ integer :unsigned, :null => false, :unsigned => true
29
+ Float :float, :null => false
30
+ TrueClass :bool, :null => false
31
+ TrueClass :true, :null => false, :default => true
32
+ TrueClass :false, :null => false, :default => false
33
+ timestamp :time, :null => false, :default => "2000-01-01 00:00:00"
34
+ String :custom, :null => false, :fixed => true, :size => 3
35
+ end
36
+ create_table :native_types do
37
+ date :date, :null => false, :default => "2000-12-31"
38
+ time :time, :null => false, :default => "23:59:59"
39
+ datetime :datetime, :null => false, :default => "2037-12-31 23:59:59"
40
+ timestamp :timestamp, :null => false, :default => "1970-01-02 00:00:00"
41
+ end
42
+ create_table :timestamps do
43
+ timestamp :t1, :null => false, :default => "2000-01-01 00:00:00"
44
+ timestamp :t2, :null => true, :default => nil
45
+ timestamp :create_time, :null => false, :default => "2000-01-01 00:00:00"
46
+ timestamp :update_time, :null => false, :default => "2000-01-01 00:00:00"
47
+ end
48
+ create_table :users do
49
+ primary_key :id, :null => false, :unsigned => false
50
+ String :name, :null => false
51
+ index [:name], :null => false, :unique => true
52
+ end
53
+ create_table :simple do
54
+ primary_key :id, :null => false, :unsigned => false
55
+ integer :user_id, :null => false, :key => [:id], :unsigned => false
56
+ index [:user_id], :null => false
57
+ end
58
+ create_table :reuse do
59
+ primary_key :user_id, :null => false, :unsigned => false
60
+ end
61
+ create_table :compound do
62
+ Integer :a, :null => false
63
+ Integer :b, :null => false
64
+ primary_key [:a, :b], :null => false, :unsigned => false
65
+ String :c, :null => false
66
+ integer :d, :null => false, :unsigned => false
67
+ index [:a, :c], :null => false, :unique => true
68
+ index [:b, :c, :d], :null => false
69
+ index [:b, :a], :null => false
70
+ end
71
+ create_table :null do
72
+ String :string, :null => true
73
+ String :text, :null => true, :text => true
74
+ File :blob, :null => true
75
+ Integer :int, :null => true
76
+ integer :signed, :null => true, :unsigned => false
77
+ integer :unsigned, :null => true, :unsigned => true
78
+ Float :float, :null => true
79
+ TrueClass :bool, :null => true
80
+ TrueClass :true, :null => true, :default => true
81
+ TrueClass :false, :null => true, :default => false
82
+ timestamp :t, :null => true, :default => nil
83
+ integer :user_id, :null => true, :key => [:id], :unsigned => false
84
+ end
85
+ create_table :defaults do
86
+ String :string, :null => false, :default => "abc"
87
+ Integer :int, :null => false, :default => 10
88
+ integer :signed, :null => false, :unsigned => false, :default => -1
89
+ integer :unsigned, :null => false, :unsigned => true, :default => 1000
90
+ Float :float, :null => false, :default => 3.14
91
+ TrueClass :bool, :null => false, :default => true
92
+ timestamp :time, :null => false, :default => "2037-12-31 23:59:59"
93
+ end
94
+ create_table :simple_users do
95
+ integer :user_id, :null => false, :key => [:id], :unsigned => false
96
+ integer :simple_id, :null => false, :key => [:id], :unsigned => false
97
+ primary_key [:user_id, :simple_id], :null => false, :unsigned => false
98
+ index [:simple_id, :user_id], :null => false, :unique => true
99
+ end
100
+ create_table :self_join do
101
+ integer :left_id, :null => false, :key => [:id], :unsigned => false
102
+ integer :right_id, :null => false, :key => [:id], :unsigned => false
103
+ primary_key [:left_id, :right_id], :null => false, :unsigned => false
104
+ timestamp :create_time, :null => false, :default => "2000-01-01 00:00:00"
105
+ timestamp :update_time, :null => false, :default => "2000-01-01 00:00:00"
106
+ index [:right_id, :left_id], :null => false, :unique => true
107
+ index [:create_time], :null => false
108
+ end
109
+ alter_table :simple do
110
+ add_foreign_key [:user_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
111
+ end
112
+ alter_table :reuse do
113
+ add_foreign_key [:user_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
114
+ end
115
+ alter_table :compound do
116
+ add_foreign_key [:b, :a], :compound, :on_update => :no_action, :on_delete => :no_action, :key => [:a, :b]
117
+ end
118
+ alter_table :null do
119
+ add_foreign_key [:user_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
120
+ end
121
+ alter_table :simple_users do
122
+ add_foreign_key [:user_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
123
+ add_foreign_key [:simple_id], :simple, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
124
+ end
125
+ alter_table :self_join do
126
+ add_foreign_key [:left_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
127
+ add_foreign_key [:right_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
128
+ end
@@ -0,0 +1,132 @@
1
+ Sequel.migration do
2
+ change do
3
+ create_table :sequel_types do
4
+ Integer :a0
5
+ String :a1
6
+ String :a2, :size => 50
7
+ String :a3, :fixed => true
8
+ String :a4, :fixed => true, :size => 50
9
+ String :a5, :text => true
10
+ File :b
11
+ Fixnum :c
12
+ Bignum :d
13
+ Float :e
14
+ BigDecimal :f
15
+ BigDecimal :f2, :size => 10
16
+ BigDecimal :f3, :size => [10, 2]
17
+ Date :g
18
+ Time :i2, :only_time => true
19
+ Numeric :j
20
+ TrueClass :k
21
+ FalseClass :l
22
+ end
23
+ create_table :miguel_types do
24
+ integer :key, :null => false, :unsigned => false
25
+ String :string, :null => false
26
+ String :text, :null => false, :text => true
27
+ File :blob, :null => false
28
+ Integer :int, :null => false
29
+ integer :signed, :null => false, :unsigned => false
30
+ integer :unsigned, :null => false, :unsigned => true
31
+ Float :float, :null => false
32
+ TrueClass :bool, :null => false
33
+ TrueClass :true, :null => false, :default => true
34
+ TrueClass :false, :null => false, :default => false
35
+ timestamp :time, :null => false, :default => "2000-01-01 00:00:00"
36
+ String :custom, :null => false, :fixed => true, :size => 3
37
+ end
38
+ create_table :native_types do
39
+ date :date, :null => false, :default => "2000-12-31"
40
+ time :time, :null => false, :default => "23:59:59"
41
+ datetime :datetime, :null => false, :default => "2037-12-31 23:59:59"
42
+ timestamp :timestamp, :null => false, :default => "1970-01-02 00:00:00"
43
+ end
44
+ create_table :timestamps do
45
+ timestamp :t1, :null => false, :default => "2000-01-01 00:00:00"
46
+ timestamp :t2, :null => true, :default => nil
47
+ timestamp :create_time, :null => false, :default => "2000-01-01 00:00:00"
48
+ timestamp :update_time, :null => false, :default => "2000-01-01 00:00:00"
49
+ end
50
+ create_table :users do
51
+ primary_key :id, :null => false, :unsigned => false
52
+ String :name, :null => false
53
+ index [:name], :null => false, :unique => true
54
+ end
55
+ create_table :simple do
56
+ primary_key :id, :null => false, :unsigned => false
57
+ integer :user_id, :null => false, :key => [:id], :unsigned => false
58
+ index [:user_id], :null => false
59
+ end
60
+ create_table :reuse do
61
+ primary_key :user_id, :null => false, :unsigned => false
62
+ end
63
+ create_table :compound do
64
+ Integer :a, :null => false
65
+ Integer :b, :null => false
66
+ primary_key [:a, :b], :null => false, :unsigned => false
67
+ String :c, :null => false
68
+ integer :d, :null => false, :unsigned => false
69
+ index [:a, :c], :null => false, :unique => true
70
+ index [:b, :c, :d], :null => false
71
+ index [:b, :a], :null => false
72
+ end
73
+ create_table :null do
74
+ String :string, :null => true
75
+ String :text, :null => true, :text => true
76
+ File :blob, :null => true
77
+ Integer :int, :null => true
78
+ integer :signed, :null => true, :unsigned => false
79
+ integer :unsigned, :null => true, :unsigned => true
80
+ Float :float, :null => true
81
+ TrueClass :bool, :null => true
82
+ TrueClass :true, :null => true, :default => true
83
+ TrueClass :false, :null => true, :default => false
84
+ timestamp :t, :null => true, :default => nil
85
+ integer :user_id, :null => true, :key => [:id], :unsigned => false
86
+ end
87
+ create_table :defaults do
88
+ String :string, :null => false, :default => "abc"
89
+ Integer :int, :null => false, :default => 10
90
+ integer :signed, :null => false, :unsigned => false, :default => -1
91
+ integer :unsigned, :null => false, :unsigned => true, :default => 1000
92
+ Float :float, :null => false, :default => 3.14
93
+ TrueClass :bool, :null => false, :default => true
94
+ timestamp :time, :null => false, :default => "2037-12-31 23:59:59"
95
+ end
96
+ create_table :simple_users do
97
+ integer :user_id, :null => false, :key => [:id], :unsigned => false
98
+ integer :simple_id, :null => false, :key => [:id], :unsigned => false
99
+ primary_key [:user_id, :simple_id], :null => false, :unsigned => false
100
+ index [:simple_id, :user_id], :null => false, :unique => true
101
+ end
102
+ create_table :self_join do
103
+ integer :left_id, :null => false, :key => [:id], :unsigned => false
104
+ integer :right_id, :null => false, :key => [:id], :unsigned => false
105
+ primary_key [:left_id, :right_id], :null => false, :unsigned => false
106
+ timestamp :create_time, :null => false, :default => "2000-01-01 00:00:00"
107
+ timestamp :update_time, :null => false, :default => "2000-01-01 00:00:00"
108
+ index [:right_id, :left_id], :null => false, :unique => true
109
+ index [:create_time], :null => false
110
+ end
111
+ alter_table :simple do
112
+ add_foreign_key [:user_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
113
+ end
114
+ alter_table :reuse do
115
+ add_foreign_key [:user_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
116
+ end
117
+ alter_table :compound do
118
+ add_foreign_key [:b, :a], :compound, :on_update => :no_action, :on_delete => :no_action, :key => [:a, :b]
119
+ end
120
+ alter_table :null do
121
+ add_foreign_key [:user_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
122
+ end
123
+ alter_table :simple_users do
124
+ add_foreign_key [:user_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
125
+ add_foreign_key [:simple_id], :simple, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
126
+ end
127
+ alter_table :self_join do
128
+ add_foreign_key [:left_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
129
+ add_foreign_key [:right_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,32 @@
1
+ alter_table :simple do
2
+ drop_foreign_key [:user_id] # :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
3
+ end
4
+ alter_table :reuse do
5
+ drop_foreign_key [:user_id] # :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
6
+ end
7
+ alter_table :compound do
8
+ drop_foreign_key [:b, :a] # :compound, :on_update => :no_action, :on_delete => :no_action, :key => [:a, :b]
9
+ end
10
+ alter_table :null do
11
+ drop_foreign_key [:user_id] # :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
12
+ end
13
+ alter_table :simple_users do
14
+ drop_foreign_key [:user_id] # :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
15
+ drop_foreign_key [:simple_id] # :simple, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
16
+ end
17
+ alter_table :self_join do
18
+ drop_foreign_key [:left_id] # :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
19
+ drop_foreign_key [:right_id] # :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
20
+ end
21
+ drop_table :sequel_types
22
+ drop_table :miguel_types
23
+ drop_table :native_types
24
+ drop_table :timestamps
25
+ drop_table :users
26
+ drop_table :simple
27
+ drop_table :reuse
28
+ drop_table :compound
29
+ drop_table :null
30
+ drop_table :defaults
31
+ drop_table :simple_users
32
+ drop_table :self_join
@@ -0,0 +1,166 @@
1
+ Sequel.migration do
2
+ up do
3
+ create_table :sequel_types do
4
+ Integer :a0
5
+ String :a1
6
+ String :a2, :size => 50
7
+ String :a3, :fixed => true
8
+ String :a4, :fixed => true, :size => 50
9
+ String :a5, :text => true
10
+ File :b
11
+ Fixnum :c
12
+ Bignum :d
13
+ Float :e
14
+ BigDecimal :f
15
+ BigDecimal :f2, :size => 10
16
+ BigDecimal :f3, :size => [10, 2]
17
+ Date :g
18
+ Time :i2, :only_time => true
19
+ Numeric :j
20
+ TrueClass :k
21
+ FalseClass :l
22
+ end
23
+ create_table :miguel_types do
24
+ integer :key, :null => false, :unsigned => false
25
+ String :string, :null => false
26
+ String :text, :null => false, :text => true
27
+ File :blob, :null => false
28
+ Integer :int, :null => false
29
+ integer :signed, :null => false, :unsigned => false
30
+ integer :unsigned, :null => false, :unsigned => true
31
+ Float :float, :null => false
32
+ TrueClass :bool, :null => false
33
+ TrueClass :true, :null => false, :default => true
34
+ TrueClass :false, :null => false, :default => false
35
+ timestamp :time, :null => false, :default => "2000-01-01 00:00:00"
36
+ String :custom, :null => false, :fixed => true, :size => 3
37
+ end
38
+ create_table :native_types do
39
+ date :date, :null => false, :default => "2000-12-31"
40
+ time :time, :null => false, :default => "23:59:59"
41
+ datetime :datetime, :null => false, :default => "2037-12-31 23:59:59"
42
+ timestamp :timestamp, :null => false, :default => "1970-01-02 00:00:00"
43
+ end
44
+ create_table :timestamps do
45
+ timestamp :t1, :null => false, :default => "2000-01-01 00:00:00"
46
+ timestamp :t2, :null => true, :default => nil
47
+ timestamp :create_time, :null => false, :default => "2000-01-01 00:00:00"
48
+ timestamp :update_time, :null => false, :default => "2000-01-01 00:00:00"
49
+ end
50
+ create_table :users do
51
+ primary_key :id, :null => false, :unsigned => false
52
+ String :name, :null => false
53
+ index [:name], :null => false, :unique => true
54
+ end
55
+ create_table :simple do
56
+ primary_key :id, :null => false, :unsigned => false
57
+ integer :user_id, :null => false, :key => [:id], :unsigned => false
58
+ index [:user_id], :null => false
59
+ end
60
+ create_table :reuse do
61
+ primary_key :user_id, :null => false, :unsigned => false
62
+ end
63
+ create_table :compound do
64
+ Integer :a, :null => false
65
+ Integer :b, :null => false
66
+ primary_key [:a, :b], :null => false, :unsigned => false
67
+ String :c, :null => false
68
+ integer :d, :null => false, :unsigned => false
69
+ index [:a, :c], :null => false, :unique => true
70
+ index [:b, :c, :d], :null => false
71
+ index [:b, :a], :null => false
72
+ end
73
+ create_table :null do
74
+ String :string, :null => true
75
+ String :text, :null => true, :text => true
76
+ File :blob, :null => true
77
+ Integer :int, :null => true
78
+ integer :signed, :null => true, :unsigned => false
79
+ integer :unsigned, :null => true, :unsigned => true
80
+ Float :float, :null => true
81
+ TrueClass :bool, :null => true
82
+ TrueClass :true, :null => true, :default => true
83
+ TrueClass :false, :null => true, :default => false
84
+ timestamp :t, :null => true, :default => nil
85
+ integer :user_id, :null => true, :key => [:id], :unsigned => false
86
+ end
87
+ create_table :defaults do
88
+ String :string, :null => false, :default => "abc"
89
+ Integer :int, :null => false, :default => 10
90
+ integer :signed, :null => false, :unsigned => false, :default => -1
91
+ integer :unsigned, :null => false, :unsigned => true, :default => 1000
92
+ Float :float, :null => false, :default => 3.14
93
+ TrueClass :bool, :null => false, :default => true
94
+ timestamp :time, :null => false, :default => "2037-12-31 23:59:59"
95
+ end
96
+ create_table :simple_users do
97
+ integer :user_id, :null => false, :key => [:id], :unsigned => false
98
+ integer :simple_id, :null => false, :key => [:id], :unsigned => false
99
+ primary_key [:user_id, :simple_id], :null => false, :unsigned => false
100
+ index [:simple_id, :user_id], :null => false, :unique => true
101
+ end
102
+ create_table :self_join do
103
+ integer :left_id, :null => false, :key => [:id], :unsigned => false
104
+ integer :right_id, :null => false, :key => [:id], :unsigned => false
105
+ primary_key [:left_id, :right_id], :null => false, :unsigned => false
106
+ timestamp :create_time, :null => false, :default => "2000-01-01 00:00:00"
107
+ timestamp :update_time, :null => false, :default => "2000-01-01 00:00:00"
108
+ index [:right_id, :left_id], :null => false, :unique => true
109
+ index [:create_time], :null => false
110
+ end
111
+ alter_table :simple do
112
+ add_foreign_key [:user_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
113
+ end
114
+ alter_table :reuse do
115
+ add_foreign_key [:user_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
116
+ end
117
+ alter_table :compound do
118
+ add_foreign_key [:b, :a], :compound, :on_update => :no_action, :on_delete => :no_action, :key => [:a, :b]
119
+ end
120
+ alter_table :null do
121
+ add_foreign_key [:user_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
122
+ end
123
+ alter_table :simple_users do
124
+ add_foreign_key [:user_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
125
+ add_foreign_key [:simple_id], :simple, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
126
+ end
127
+ alter_table :self_join do
128
+ add_foreign_key [:left_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
129
+ add_foreign_key [:right_id], :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
130
+ end
131
+ end
132
+ down do
133
+ alter_table :simple do
134
+ drop_foreign_key [:user_id] # :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
135
+ end
136
+ alter_table :reuse do
137
+ drop_foreign_key [:user_id] # :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
138
+ end
139
+ alter_table :compound do
140
+ drop_foreign_key [:b, :a] # :compound, :on_update => :no_action, :on_delete => :no_action, :key => [:a, :b]
141
+ end
142
+ alter_table :null do
143
+ drop_foreign_key [:user_id] # :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
144
+ end
145
+ alter_table :simple_users do
146
+ drop_foreign_key [:user_id] # :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
147
+ drop_foreign_key [:simple_id] # :simple, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
148
+ end
149
+ alter_table :self_join do
150
+ drop_foreign_key [:left_id] # :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
151
+ drop_foreign_key [:right_id] # :users, :on_update => :no_action, :on_delete => :no_action, :key => [:id]
152
+ end
153
+ drop_table :sequel_types
154
+ drop_table :miguel_types
155
+ drop_table :native_types
156
+ drop_table :timestamps
157
+ drop_table :users
158
+ drop_table :simple
159
+ drop_table :reuse
160
+ drop_table :compound
161
+ drop_table :null
162
+ drop_table :defaults
163
+ drop_table :simple_users
164
+ drop_table :self_join
165
+ end
166
+ end