Skip to content

Commit fe81351

Browse files
Aryklukesarnacki
authored andcommitted
Add Sequel schema generation based on ActiveRecord version
1 parent 2a30c3d commit fe81351

File tree

1 file changed

+310
-0
lines changed

1 file changed

+310
-0
lines changed

test/support/sequel/schema.rb

+310
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,310 @@
1+
require 'active_record'
2+
3+
ActiveRecord::Schema.verbose = false
4+
5+
### DATABASE
6+
ActiveRecord::Schema.define do
7+
create_table :people, force: true do |t|
8+
t.string :name
9+
t.string :email
10+
t.datetime :date_joined
11+
t.belongs_to :preferences
12+
t.integer :hair_cut_id, index: true
13+
t.boolean :book_admin, default: false
14+
t.boolean :special, default: false
15+
t.timestamps null: false
16+
end
17+
18+
create_table :author_details, force: true do |t|
19+
t.integer :person_id
20+
t.string :author_stuff
21+
end
22+
23+
create_table :posts, force: true do |t|
24+
t.string :title, length: 255
25+
t.text :body
26+
t.integer :author_id
27+
t.integer :parent_post_id
28+
t.belongs_to :section, index: true
29+
t.timestamps null: false
30+
end
31+
32+
create_table :comments, force: true do |t|
33+
t.text :body
34+
t.belongs_to :post, index: true
35+
t.integer :author_id
36+
t.timestamps null: false
37+
end
38+
39+
create_table :companies, force: true do |t|
40+
t.string :type
41+
t.string :name
42+
t.string :address
43+
t.timestamps null: false
44+
end
45+
46+
create_table :tags, force: true do |t|
47+
t.string :name
48+
t.timestamps null: false
49+
end
50+
51+
create_table :sections, force: true do |t|
52+
t.string :name
53+
t.timestamps null: false
54+
end
55+
56+
create_table :posts_tags, force: true do |t|
57+
t.references :post, :tag, index: true
58+
end
59+
add_index :posts_tags, [:post_id, :tag_id], unique: true
60+
61+
create_table :special_post_tags, force: true do |t|
62+
t.references :post, :tag, index: true
63+
end
64+
add_index :special_post_tags, [:post_id, :tag_id], unique: true
65+
66+
create_table :comments_tags, force: true do |t|
67+
t.references :comment, :tag, index: true
68+
end
69+
70+
create_table :iso_currencies, id: false, force: true do |t|
71+
t.string :code, limit: 3, null: false
72+
t.string :name
73+
t.string :country_name
74+
t.string :minor_unit
75+
t.timestamps null: false
76+
end
77+
add_index :iso_currencies, :code, unique: true
78+
79+
create_table :expense_entries, force: true do |t|
80+
t.string :currency_code, limit: 3, null: false
81+
t.integer :employee_id, null: false
82+
t.decimal :cost, precision: 12, scale: 4, null: false
83+
t.date :transaction_date
84+
t.timestamps null: false
85+
end
86+
87+
create_table :planets, force: true do |t|
88+
t.string :name
89+
t.string :description
90+
t.integer :planet_type_id
91+
end
92+
93+
create_table :planets_tags, force: true do |t|
94+
t.references :planet, :tag, index: true
95+
end
96+
add_index :planets_tags, [:planet_id, :tag_id], unique: true
97+
98+
create_table :planet_types, force: true do |t|
99+
t.string :name
100+
end
101+
102+
create_table :moons, force: true do |t|
103+
t.string :name
104+
t.string :description
105+
t.integer :planet_id
106+
t.timestamps null: false
107+
end
108+
109+
create_table :craters, id: false, force: true do |t|
110+
t.string :code
111+
t.string :description
112+
t.integer :moon_id
113+
t.timestamps null: false
114+
end
115+
116+
create_table :preferences, force: true do |t|
117+
t.integer :person_id
118+
t.boolean :advanced_mode, default: false
119+
t.timestamps null: false
120+
end
121+
122+
create_table :facts, force: true do |t|
123+
t.integer :person_id
124+
t.string :spouse_name
125+
t.text :bio
126+
t.float :quality_rating
127+
t.decimal :salary, precision: 12, scale: 2
128+
t.datetime :date_time_joined
129+
t.date :birthday
130+
t.time :bedtime
131+
t.binary :photo, limit: 1.kilobyte
132+
t.boolean :cool
133+
t.timestamps null: false
134+
end
135+
136+
create_table :books, force: true do |t|
137+
t.string :title
138+
t.string :isbn
139+
t.boolean :banned, default: false
140+
t.timestamps null: false
141+
end
142+
143+
create_table :book_authors, force: true do |t|
144+
t.integer :book_id
145+
t.integer :person_id
146+
end
147+
148+
create_table :book_comments, force: true do |t|
149+
t.text :body
150+
t.belongs_to :book, index: true
151+
t.integer :author_id
152+
t.boolean :approved, default: true
153+
t.timestamps null: false
154+
end
155+
156+
create_table :customers, force: true do |t|
157+
t.string :name
158+
t.timestamps null: false
159+
end
160+
161+
create_table :purchase_orders, force: true do |t|
162+
t.date :order_date
163+
t.date :requested_delivery_date
164+
t.date :delivery_date
165+
t.integer :customer_id
166+
t.string :delivery_name
167+
t.string :delivery_address_1
168+
t.string :delivery_address_2
169+
t.string :delivery_city
170+
t.string :delivery_state
171+
t.string :delivery_postal_code
172+
t.float :delivery_fee
173+
t.float :tax
174+
t.float :total
175+
t.timestamps null: false
176+
end
177+
178+
create_table :order_flags, force: true do |t|
179+
t.string :name
180+
end
181+
182+
create_table :purchase_orders_order_flags, force: true do |t|
183+
t.references :purchase_order, :order_flag, index: true
184+
end
185+
add_index :purchase_orders_order_flags, [:purchase_order_id, :order_flag_id], unique: true, name: "po_flags_idx"
186+
187+
create_table :line_items, force: true do |t|
188+
t.integer :purchase_order_id
189+
t.string :part_number
190+
t.string :quantity
191+
t.float :item_cost
192+
t.timestamps null: false
193+
end
194+
195+
create_table :hair_cuts, force: true do |t|
196+
t.string :style
197+
end
198+
199+
create_table :numeros_telefone, force: true do |t|
200+
t.string :numero_telefone
201+
t.timestamps null: false
202+
end
203+
204+
create_table :categories, force: true do |t|
205+
t.string :name
206+
t.string :status, limit: 10
207+
t.timestamps null: false
208+
end
209+
210+
create_table :pictures, force: true do |t|
211+
t.string :name
212+
t.integer :imageable_id
213+
t.string :imageable_type
214+
t.timestamps null: false
215+
end
216+
217+
create_table :documents, force: true do |t|
218+
t.string :name
219+
t.timestamps null: false
220+
end
221+
222+
create_table :products, force: true do |t|
223+
t.string :name
224+
t.timestamps null: false
225+
end
226+
227+
create_table :vehicles, force: true do |t|
228+
t.string :type
229+
t.string :make
230+
t.string :model
231+
t.string :length_at_water_line
232+
t.string :drive_layout
233+
t.string :serial_number
234+
t.integer :person_id
235+
t.timestamps null: false
236+
end
237+
238+
create_table :makes, force: true do |t|
239+
t.string :model
240+
t.timestamps null: false
241+
end
242+
243+
# special cases - fields that look like they should be reserved names
244+
create_table :hrefs, force: true do |t|
245+
t.string :name
246+
t.timestamps null: false
247+
end
248+
249+
create_table :links, force: true do |t|
250+
t.string :name
251+
t.timestamps null: false
252+
end
253+
254+
create_table :web_pages, force: true do |t|
255+
t.string :href
256+
t.string :link
257+
t.timestamps null: false
258+
end
259+
260+
create_table :questionables, force: true do |t|
261+
t.timestamps null: false
262+
end
263+
264+
create_table :boxes, force: true do |t|
265+
t.string :name
266+
t.timestamps null: false
267+
end
268+
269+
create_table :things, force: true do |t|
270+
t.string :name
271+
t.references :user
272+
t.references :box
273+
274+
t.timestamps null: false
275+
end
276+
277+
create_table :users, force: true do |t|
278+
t.string :name
279+
t.timestamps null: false
280+
end
281+
282+
create_table :related_things, force: true do |t|
283+
t.string :name
284+
t.references :from, references: :thing
285+
t.references :to, references: :thing
286+
287+
t.timestamps null: false
288+
end
289+
290+
create_table :questions, force: true do |t|
291+
t.string :text
292+
end
293+
294+
create_table :answers, force: true do |t|
295+
t.references :question
296+
t.integer :respondent_id
297+
t.string :respondent_type
298+
t.string :text
299+
end
300+
301+
create_table :patients, force: true do |t|
302+
t.string :name
303+
end
304+
305+
create_table :doctors, force: true do |t|
306+
t.string :name
307+
end
308+
309+
# special cases
310+
end

0 commit comments

Comments
 (0)