activerecord 2.0.5 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activerecord might be problematic. Click here for more details.

Files changed (289) hide show
  1. data/CHANGELOG +168 -6
  2. data/README +27 -22
  3. data/RUNNING_UNIT_TESTS +7 -4
  4. data/Rakefile +22 -25
  5. data/lib/active_record.rb +8 -2
  6. data/lib/active_record/aggregations.rb +21 -12
  7. data/lib/active_record/association_preload.rb +277 -0
  8. data/lib/active_record/associations.rb +481 -295
  9. data/lib/active_record/associations/association_collection.rb +162 -37
  10. data/lib/active_record/associations/association_proxy.rb +71 -7
  11. data/lib/active_record/associations/belongs_to_association.rb +5 -3
  12. data/lib/active_record/associations/belongs_to_polymorphic_association.rb +5 -6
  13. data/lib/active_record/associations/has_and_belongs_to_many_association.rb +12 -64
  14. data/lib/active_record/associations/has_many_association.rb +8 -73
  15. data/lib/active_record/associations/has_many_through_association.rb +68 -117
  16. data/lib/active_record/associations/has_one_association.rb +7 -5
  17. data/lib/active_record/associations/has_one_through_association.rb +28 -0
  18. data/lib/active_record/attribute_methods.rb +69 -19
  19. data/lib/active_record/base.rb +496 -275
  20. data/lib/active_record/calculations.rb +28 -21
  21. data/lib/active_record/callbacks.rb +9 -38
  22. data/lib/active_record/connection_adapters/abstract/connection_specification.rb +3 -2
  23. data/lib/active_record/connection_adapters/abstract/database_statements.rb +2 -2
  24. data/lib/active_record/connection_adapters/abstract/query_cache.rb +6 -0
  25. data/lib/active_record/connection_adapters/abstract/schema_definitions.rb +232 -45
  26. data/lib/active_record/connection_adapters/abstract/schema_statements.rb +141 -27
  27. data/lib/active_record/connection_adapters/abstract_adapter.rb +9 -13
  28. data/lib/active_record/connection_adapters/mysql_adapter.rb +57 -24
  29. data/lib/active_record/connection_adapters/postgresql_adapter.rb +143 -42
  30. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +1 -1
  31. data/lib/active_record/connection_adapters/sqlite_adapter.rb +18 -10
  32. data/lib/active_record/dirty.rb +158 -0
  33. data/lib/active_record/fixtures.rb +121 -156
  34. data/lib/active_record/locking/optimistic.rb +14 -11
  35. data/lib/active_record/locking/pessimistic.rb +2 -2
  36. data/lib/active_record/migration.rb +157 -77
  37. data/lib/active_record/named_scope.rb +163 -0
  38. data/lib/active_record/observer.rb +19 -5
  39. data/lib/active_record/reflection.rb +34 -14
  40. data/lib/active_record/schema.rb +7 -14
  41. data/lib/active_record/schema_dumper.rb +4 -4
  42. data/lib/active_record/serialization.rb +5 -5
  43. data/lib/active_record/serializers/json_serializer.rb +37 -28
  44. data/lib/active_record/serializers/xml_serializer.rb +52 -29
  45. data/lib/active_record/test_case.rb +36 -0
  46. data/lib/active_record/timestamp.rb +4 -4
  47. data/lib/active_record/transactions.rb +3 -3
  48. data/lib/active_record/validations.rb +182 -248
  49. data/lib/active_record/version.rb +2 -2
  50. data/test/{fixtures → assets}/example.log +0 -0
  51. data/test/{fixtures → assets}/flowers.jpg +0 -0
  52. data/test/cases/aaa_create_tables_test.rb +24 -0
  53. data/test/cases/active_schema_test_mysql.rb +95 -0
  54. data/test/cases/active_schema_test_postgresql.rb +24 -0
  55. data/test/{adapter_test.rb → cases/adapter_test.rb} +15 -14
  56. data/test/{adapter_test_sqlserver.rb → cases/adapter_test_sqlserver.rb} +95 -95
  57. data/test/{aggregations_test.rb → cases/aggregations_test.rb} +20 -20
  58. data/test/{ar_schema_test.rb → cases/ar_schema_test.rb} +6 -6
  59. data/test/cases/associations/belongs_to_associations_test.rb +412 -0
  60. data/test/{associations → cases/associations}/callbacks_test.rb +24 -10
  61. data/test/{associations → cases/associations}/cascaded_eager_loading_test.rb +18 -17
  62. data/test/cases/associations/eager_load_nested_include_test.rb +83 -0
  63. data/test/{associations → cases/associations}/eager_singularization_test.rb +5 -5
  64. data/test/{associations → cases/associations}/eager_test.rb +216 -51
  65. data/test/{associations → cases/associations}/extension_test.rb +8 -8
  66. data/test/cases/associations/has_and_belongs_to_many_associations_test.rb +684 -0
  67. data/test/cases/associations/has_many_associations_test.rb +932 -0
  68. data/test/cases/associations/has_many_through_associations_test.rb +190 -0
  69. data/test/cases/associations/has_one_associations_test.rb +323 -0
  70. data/test/cases/associations/has_one_through_associations_test.rb +74 -0
  71. data/test/{associations → cases/associations}/inner_join_association_test.rb +20 -20
  72. data/test/{associations → cases/associations}/join_model_test.rb +175 -35
  73. data/test/cases/associations_test.rb +262 -0
  74. data/test/{attribute_methods_test.rb → cases/attribute_methods_test.rb} +103 -11
  75. data/test/{base_test.rb → cases/base_test.rb} +338 -191
  76. data/test/{binary_test.rb → cases/binary_test.rb} +6 -4
  77. data/test/{calculations_test.rb → cases/calculations_test.rb} +35 -23
  78. data/test/{callbacks_test.rb → cases/callbacks_test.rb} +7 -7
  79. data/test/{class_inheritable_attributes_test.rb → cases/class_inheritable_attributes_test.rb} +3 -3
  80. data/test/{column_alias_test.rb → cases/column_alias_test.rb} +3 -3
  81. data/test/{connection_test_firebird.rb → cases/connection_test_firebird.rb} +2 -2
  82. data/test/{connection_test_mysql.rb → cases/connection_test_mysql.rb} +2 -2
  83. data/test/{copy_table_test_sqlite.rb → cases/copy_table_test_sqlite.rb} +13 -13
  84. data/test/{datatype_test_postgresql.rb → cases/datatype_test_postgresql.rb} +8 -8
  85. data/test/{date_time_test.rb → cases/date_time_test.rb} +5 -5
  86. data/test/{default_test_firebird.rb → cases/default_test_firebird.rb} +3 -3
  87. data/test/{defaults_test.rb → cases/defaults_test.rb} +8 -6
  88. data/test/{deprecated_finder_test.rb → cases/deprecated_finder_test.rb} +3 -3
  89. data/test/cases/dirty_test.rb +163 -0
  90. data/test/cases/finder_respond_to_test.rb +76 -0
  91. data/test/{finder_test.rb → cases/finder_test.rb} +266 -33
  92. data/test/{fixtures_test.rb → cases/fixtures_test.rb} +88 -72
  93. data/test/cases/helper.rb +47 -0
  94. data/test/{inheritance_test.rb → cases/inheritance_test.rb} +61 -17
  95. data/test/cases/invalid_date_test.rb +24 -0
  96. data/test/{json_serialization_test.rb → cases/json_serialization_test.rb} +36 -11
  97. data/test/{lifecycle_test.rb → cases/lifecycle_test.rb} +16 -13
  98. data/test/{locking_test.rb → cases/locking_test.rb} +17 -10
  99. data/test/{method_scoping_test.rb → cases/method_scoping_test.rb} +75 -39
  100. data/test/{migration_test.rb → cases/migration_test.rb} +420 -80
  101. data/test/{migration_test_firebird.rb → cases/migration_test_firebird.rb} +3 -3
  102. data/test/{mixin_test.rb → cases/mixin_test.rb} +7 -6
  103. data/test/{modules_test.rb → cases/modules_test.rb} +11 -6
  104. data/test/{multiple_db_test.rb → cases/multiple_db_test.rb} +5 -5
  105. data/test/cases/named_scope_test.rb +157 -0
  106. data/test/{pk_test.rb → cases/pk_test.rb} +10 -10
  107. data/test/{query_cache_test.rb → cases/query_cache_test.rb} +12 -10
  108. data/test/{readonly_test.rb → cases/readonly_test.rb} +11 -11
  109. data/test/{reflection_test.rb → cases/reflection_test.rb} +15 -14
  110. data/test/{reserved_word_test_mysql.rb → cases/reserved_word_test_mysql.rb} +4 -5
  111. data/test/{schema_authorization_test_postgresql.rb → cases/schema_authorization_test_postgresql.rb} +5 -5
  112. data/test/cases/schema_dumper_test.rb +138 -0
  113. data/test/cases/schema_test_postgresql.rb +102 -0
  114. data/test/{serialization_test.rb → cases/serialization_test.rb} +7 -7
  115. data/test/{synonym_test_oracle.rb → cases/synonym_test_oracle.rb} +5 -5
  116. data/test/{table_name_test_sqlserver.rb → cases/table_name_test_sqlserver.rb} +3 -3
  117. data/test/{threaded_connections_test.rb → cases/threaded_connections_test.rb} +7 -7
  118. data/test/{transactions_test.rb → cases/transactions_test.rb} +31 -5
  119. data/test/{unconnected_test.rb → cases/unconnected_test.rb} +2 -2
  120. data/test/{validations_test.rb → cases/validations_test.rb} +141 -39
  121. data/test/{xml_serialization_test.rb → cases/xml_serialization_test.rb} +12 -12
  122. data/test/config.rb +5 -0
  123. data/test/connections/native_db2/connection.rb +1 -1
  124. data/test/connections/native_firebird/connection.rb +1 -1
  125. data/test/connections/native_frontbase/connection.rb +1 -1
  126. data/test/connections/native_mysql/connection.rb +1 -1
  127. data/test/connections/native_openbase/connection.rb +1 -1
  128. data/test/connections/native_oracle/connection.rb +1 -1
  129. data/test/connections/native_postgresql/connection.rb +1 -3
  130. data/test/connections/native_sqlite/connection.rb +2 -2
  131. data/test/connections/native_sqlite3/connection.rb +2 -2
  132. data/test/connections/native_sqlite3/in_memory_connection.rb +3 -3
  133. data/test/connections/native_sybase/connection.rb +1 -1
  134. data/test/fixtures/author_addresses.yml +5 -0
  135. data/test/fixtures/authors.yml +2 -0
  136. data/test/fixtures/clubs.yml +6 -0
  137. data/test/fixtures/jobs.yml +7 -0
  138. data/test/fixtures/members.yml +4 -0
  139. data/test/fixtures/memberships.yml +20 -0
  140. data/test/fixtures/owners.yml +7 -0
  141. data/test/fixtures/people.yml +4 -1
  142. data/test/fixtures/pets.yml +14 -0
  143. data/test/fixtures/posts.yml +1 -0
  144. data/test/fixtures/price_estimates.yml +7 -0
  145. data/test/fixtures/readers.yml +5 -0
  146. data/test/fixtures/references.yml +17 -0
  147. data/test/fixtures/sponsors.yml +9 -0
  148. data/test/fixtures/subscribers.yml +7 -0
  149. data/test/fixtures/subscriptions.yml +12 -0
  150. data/test/fixtures/taggings.yml +4 -1
  151. data/test/fixtures/topics.yml +22 -2
  152. data/test/fixtures/warehouse-things.yml +3 -0
  153. data/test/{fixtures/migrations_with_decimal → migrations/decimal}/1_give_me_big_numbers.rb +0 -0
  154. data/test/{fixtures/migrations_with_duplicate → migrations/duplicate}/1_people_have_last_names.rb +1 -1
  155. data/test/{fixtures/migrations_with_duplicate → migrations/duplicate}/2_we_need_reminders.rb +1 -1
  156. data/test/{fixtures/migrations_with_duplicate → migrations/duplicate}/3_foo.rb +0 -0
  157. data/test/{fixtures/migrations → migrations/duplicate}/3_innocent_jointable.rb +0 -0
  158. data/test/migrations/duplicate_names/20080507052938_chunky.rb +7 -0
  159. data/test/migrations/duplicate_names/20080507053028_chunky.rb +7 -0
  160. data/test/{fixtures/migrations_with_duplicate → migrations/interleaved/pass_1}/3_innocent_jointable.rb +0 -0
  161. data/test/{fixtures/migrations → migrations/interleaved/pass_2}/1_people_have_last_names.rb +1 -1
  162. data/test/{fixtures/migrations_with_missing_versions/4_innocent_jointable.rb → migrations/interleaved/pass_2/3_innocent_jointable.rb} +0 -0
  163. data/test/{fixtures/migrations_with_missing_versions → migrations/interleaved/pass_3}/1_people_have_last_names.rb +1 -1
  164. data/test/migrations/interleaved/pass_3/2_i_raise_on_down.rb +8 -0
  165. data/test/migrations/interleaved/pass_3/3_innocent_jointable.rb +12 -0
  166. data/test/{fixtures/migrations_with_missing_versions → migrations/missing}/1000_people_have_middle_names.rb +1 -1
  167. data/test/migrations/missing/1_people_have_last_names.rb +9 -0
  168. data/test/{fixtures/migrations_with_missing_versions → migrations/missing}/3_we_need_reminders.rb +1 -1
  169. data/test/migrations/missing/4_innocent_jointable.rb +12 -0
  170. data/test/migrations/valid/1_people_have_last_names.rb +9 -0
  171. data/test/{fixtures/migrations → migrations/valid}/2_we_need_reminders.rb +1 -1
  172. data/test/migrations/valid/3_innocent_jointable.rb +12 -0
  173. data/test/{fixtures → models}/author.rb +28 -4
  174. data/test/{fixtures → models}/auto_id.rb +0 -0
  175. data/test/{fixtures → models}/binary.rb +0 -0
  176. data/test/{fixtures → models}/book.rb +0 -0
  177. data/test/{fixtures → models}/categorization.rb +0 -0
  178. data/test/{fixtures → models}/category.rb +8 -5
  179. data/test/{fixtures → models}/citation.rb +0 -0
  180. data/test/models/club.rb +7 -0
  181. data/test/{fixtures → models}/column_name.rb +0 -0
  182. data/test/{fixtures → models}/comment.rb +5 -3
  183. data/test/{fixtures → models}/company.rb +15 -6
  184. data/test/{fixtures → models}/company_in_module.rb +5 -3
  185. data/test/{fixtures → models}/computer.rb +0 -1
  186. data/test/{fixtures → models}/contact.rb +1 -1
  187. data/test/{fixtures → models}/course.rb +0 -0
  188. data/test/{fixtures → models}/customer.rb +8 -8
  189. data/test/{fixtures → models}/default.rb +0 -0
  190. data/test/{fixtures → models}/developer.rb +14 -10
  191. data/test/{fixtures → models}/edge.rb +0 -0
  192. data/test/{fixtures → models}/entrant.rb +0 -0
  193. data/test/models/guid.rb +2 -0
  194. data/test/{fixtures → models}/item.rb +0 -0
  195. data/test/models/job.rb +5 -0
  196. data/test/{fixtures → models}/joke.rb +0 -0
  197. data/test/{fixtures → models}/keyboard.rb +0 -0
  198. data/test/{fixtures → models}/legacy_thing.rb +0 -0
  199. data/test/{fixtures → models}/matey.rb +0 -0
  200. data/test/models/member.rb +9 -0
  201. data/test/models/membership.rb +9 -0
  202. data/test/{fixtures → models}/minimalistic.rb +0 -0
  203. data/test/{fixtures → models}/mixed_case_monkey.rb +0 -0
  204. data/test/{fixtures → models}/movie.rb +0 -0
  205. data/test/{fixtures → models}/order.rb +2 -2
  206. data/test/models/owner.rb +4 -0
  207. data/test/{fixtures → models}/parrot.rb +0 -0
  208. data/test/models/person.rb +10 -0
  209. data/test/models/pet.rb +4 -0
  210. data/test/models/pirate.rb +9 -0
  211. data/test/{fixtures → models}/post.rb +23 -2
  212. data/test/models/price_estimate.rb +3 -0
  213. data/test/{fixtures → models}/project.rb +1 -0
  214. data/test/{fixtures → models}/reader.rb +0 -0
  215. data/test/models/reference.rb +4 -0
  216. data/test/{fixtures → models}/reply.rb +7 -5
  217. data/test/{fixtures → models}/ship.rb +0 -0
  218. data/test/models/sponsor.rb +4 -0
  219. data/test/{fixtures → models}/subject.rb +0 -0
  220. data/test/{fixtures → models}/subscriber.rb +2 -0
  221. data/test/models/subscription.rb +4 -0
  222. data/test/{fixtures → models}/tag.rb +0 -0
  223. data/test/{fixtures → models}/tagging.rb +0 -0
  224. data/test/{fixtures → models}/task.rb +0 -0
  225. data/test/{fixtures → models}/topic.rb +32 -4
  226. data/test/{fixtures → models}/treasure.rb +2 -0
  227. data/test/{fixtures → models}/vertex.rb +0 -0
  228. data/test/models/warehouse_thing.rb +5 -0
  229. data/test/schema/mysql_specific_schema.rb +12 -0
  230. data/test/schema/postgresql_specific_schema.rb +103 -0
  231. data/test/schema/schema.rb +421 -0
  232. data/test/schema/schema2.rb +6 -0
  233. data/test/schema/sqlite_specific_schema.rb +25 -0
  234. data/test/schema/sqlserver_specific_schema.rb +5 -0
  235. metadata +192 -176
  236. data/test/aaa_create_tables_test.rb +0 -72
  237. data/test/abstract_unit.rb +0 -84
  238. data/test/active_schema_test_mysql.rb +0 -46
  239. data/test/all.sh +0 -8
  240. data/test/association_inheritance_reload.rb +0 -14
  241. data/test/associations_test.rb +0 -2177
  242. data/test/fixtures/bad_fixtures/attr_with_numeric_first_char +0 -1
  243. data/test/fixtures/bad_fixtures/attr_with_spaces +0 -1
  244. data/test/fixtures/bad_fixtures/blank_line +0 -3
  245. data/test/fixtures/bad_fixtures/duplicate_attributes +0 -3
  246. data/test/fixtures/bad_fixtures/missing_value +0 -1
  247. data/test/fixtures/db_definitions/db2.drop.sql +0 -33
  248. data/test/fixtures/db_definitions/db2.sql +0 -235
  249. data/test/fixtures/db_definitions/db22.drop.sql +0 -2
  250. data/test/fixtures/db_definitions/db22.sql +0 -5
  251. data/test/fixtures/db_definitions/firebird.drop.sql +0 -65
  252. data/test/fixtures/db_definitions/firebird.sql +0 -310
  253. data/test/fixtures/db_definitions/firebird2.drop.sql +0 -2
  254. data/test/fixtures/db_definitions/firebird2.sql +0 -6
  255. data/test/fixtures/db_definitions/frontbase.drop.sql +0 -33
  256. data/test/fixtures/db_definitions/frontbase.sql +0 -273
  257. data/test/fixtures/db_definitions/frontbase2.drop.sql +0 -1
  258. data/test/fixtures/db_definitions/frontbase2.sql +0 -4
  259. data/test/fixtures/db_definitions/openbase.drop.sql +0 -2
  260. data/test/fixtures/db_definitions/openbase.sql +0 -318
  261. data/test/fixtures/db_definitions/openbase2.drop.sql +0 -2
  262. data/test/fixtures/db_definitions/openbase2.sql +0 -7
  263. data/test/fixtures/db_definitions/oracle.drop.sql +0 -67
  264. data/test/fixtures/db_definitions/oracle.sql +0 -330
  265. data/test/fixtures/db_definitions/oracle2.drop.sql +0 -2
  266. data/test/fixtures/db_definitions/oracle2.sql +0 -6
  267. data/test/fixtures/db_definitions/postgresql.drop.sql +0 -44
  268. data/test/fixtures/db_definitions/postgresql.sql +0 -292
  269. data/test/fixtures/db_definitions/postgresql2.drop.sql +0 -2
  270. data/test/fixtures/db_definitions/postgresql2.sql +0 -4
  271. data/test/fixtures/db_definitions/schema.rb +0 -354
  272. data/test/fixtures/db_definitions/schema2.rb +0 -11
  273. data/test/fixtures/db_definitions/sqlite.drop.sql +0 -33
  274. data/test/fixtures/db_definitions/sqlite.sql +0 -219
  275. data/test/fixtures/db_definitions/sqlite2.drop.sql +0 -2
  276. data/test/fixtures/db_definitions/sqlite2.sql +0 -5
  277. data/test/fixtures/db_definitions/sybase.drop.sql +0 -35
  278. data/test/fixtures/db_definitions/sybase.sql +0 -222
  279. data/test/fixtures/db_definitions/sybase2.drop.sql +0 -4
  280. data/test/fixtures/db_definitions/sybase2.sql +0 -5
  281. data/test/fixtures/developers_projects/david_action_controller +0 -3
  282. data/test/fixtures/developers_projects/david_active_record +0 -3
  283. data/test/fixtures/developers_projects/jamis_active_record +0 -2
  284. data/test/fixtures/person.rb +0 -4
  285. data/test/fixtures/pirate.rb +0 -5
  286. data/test/fixtures/subscribers/first +0 -2
  287. data/test/fixtures/subscribers/second +0 -2
  288. data/test/schema_dumper_test.rb +0 -131
  289. data/test/schema_test_postgresql.rb +0 -64
@@ -1,2 +0,0 @@
1
- DROP TABLE courses
2
- go
@@ -1,7 +0,0 @@
1
- CREATE TABLE courses (
2
- id integer UNIQUE INDEX DEFAULT _rowid,
3
- name text
4
- )
5
- go
6
- CREATE PRIMARY KEY courses (id)
7
- go
@@ -1,67 +0,0 @@
1
- drop table accounts;
2
- drop table funny_jokes;
3
- drop table companies;
4
- drop table topics;
5
- drop synonym subjects;
6
- drop table developers_projects;
7
- drop table computers;
8
- drop table developers;
9
- drop table projects;
10
- drop table customers;
11
- drop table orders;
12
- drop table movies;
13
- drop table subscribers;
14
- drop table booleantests;
15
- drop table auto_id_tests;
16
- drop table entrants;
17
- drop table colnametests;
18
- drop table mixins;
19
- drop table people;
20
- drop table readers;
21
- drop table binaries;
22
- drop table comments;
23
- drop table authors;
24
- drop table tasks;
25
- drop table categories_posts;
26
- drop table categories;
27
- drop table posts;
28
- drop table fk_test_has_pk;
29
- drop table fk_test_has_fk;
30
- drop table keyboards;
31
- drop table legacy_things;
32
- drop table numeric_data;
33
- drop table mixed_case_monkeys;
34
- drop table minimalistics;
35
-
36
- drop sequence accounts_seq;
37
- drop sequence funny_jokes_seq;
38
- drop sequence companies_nonstd_seq;
39
- drop sequence topics_seq;
40
- drop sequence developers_seq;
41
- drop sequence projects_seq;
42
- drop sequence developers_projects_seq;
43
- drop sequence customers_seq;
44
- drop sequence orders_seq;
45
- drop sequence movies_seq;
46
- drop sequence subscribers_seq;
47
- drop sequence booleantests_seq;
48
- drop sequence auto_id_tests_seq;
49
- drop sequence entrants_seq;
50
- drop sequence colnametests_seq;
51
- drop sequence mixins_seq;
52
- drop sequence people_seq;
53
- drop sequence binaries_seq;
54
- drop sequence posts_seq;
55
- drop sequence comments_seq;
56
- drop sequence authors_seq;
57
- drop sequence tasks_seq;
58
- drop sequence computers_seq;
59
- drop sequence categories_seq;
60
- drop sequence categories_posts_seq;
61
- drop sequence fk_test_has_pk_seq;
62
- drop sequence fk_test_has_fk_seq;
63
- drop sequence keyboards_seq;
64
- drop sequence legacy_things_seq;
65
- drop sequence numeric_data_seq;
66
- drop sequence mixed_case_monkeys_seq;
67
- drop sequence minimalistics_seq;
@@ -1,330 +0,0 @@
1
- create table companies (
2
- id integer not null,
3
- type varchar(50) default null,
4
- ruby_type varchar(50) default null,
5
- firm_id integer default null references companies initially deferred disable,
6
- name varchar(50) default null,
7
- client_of integer default null references companies initially deferred disable,
8
- companies_count integer default 0,
9
- rating integer default 1,
10
- primary key (id)
11
- );
12
-
13
- -- non-standard sequence name used to test set_sequence_name
14
- --
15
- create sequence companies_nonstd_seq minvalue 10000;
16
-
17
- create table funny_jokes (
18
- id integer not null,
19
- name varchar(50) default null,
20
- primary key (id)
21
- );
22
- create sequence funny_jokes_seq minvalue 10000;
23
-
24
- create table accounts (
25
- id integer not null,
26
- firm_id integer default null references companies initially deferred disable,
27
- credit_limit integer default null
28
- );
29
- create sequence accounts_seq minvalue 10000;
30
-
31
- create table topics (
32
- id integer not null,
33
- title varchar(255) default null,
34
- author_name varchar(255) default null,
35
- author_email_address varchar(255) default null,
36
- written_on timestamp default null,
37
- bonus_time timestamp default null,
38
- last_read timestamp default null,
39
- content varchar(4000),
40
- approved number(1) default 1,
41
- replies_count integer default 0,
42
- parent_id integer references topics initially deferred disable,
43
- type varchar(50) default null,
44
- primary key (id)
45
- );
46
- -- try again for 8i
47
- create table topics (
48
- id integer not null,
49
- title varchar(255) default null,
50
- author_name varchar(255) default null,
51
- author_email_address varchar(255) default null,
52
- written_on date default null,
53
- bonus_time date default null,
54
- last_read date default null,
55
- content varchar(4000),
56
- approved number(1) default 1,
57
- replies_count integer default 0,
58
- parent_id integer references topics initially deferred disable,
59
- type varchar(50) default null,
60
- primary key (id)
61
- );
62
- create sequence topics_seq minvalue 10000;
63
-
64
- create synonym subjects for topics;
65
-
66
- create table developers (
67
- id integer not null,
68
- name varchar(100) default null,
69
- salary integer default 70000,
70
- created_at timestamp default null,
71
- updated_at timestamp default null,
72
- primary key (id)
73
- );
74
- create sequence developers_seq minvalue 10000;
75
-
76
- create table projects (
77
- id integer not null,
78
- name varchar(100) default null,
79
- type varchar(255) default null,
80
- primary key (id)
81
- );
82
- create sequence projects_seq minvalue 10000;
83
-
84
- create table developers_projects (
85
- developer_id integer not null references developers initially deferred disable,
86
- project_id integer not null references projects initially deferred disable,
87
- joined_on timestamp default null,
88
- access_level integer default 1
89
- );
90
- -- Try again for 8i
91
- create table developers_projects (
92
- developer_id integer not null references developers initially deferred disable,
93
- project_id integer not null references projects initially deferred disable,
94
- joined_on date default null
95
- );
96
- create sequence developers_projects_seq minvalue 10000;
97
-
98
- create table orders (
99
- id integer not null,
100
- name varchar(100) default null,
101
- billing_customer_id integer default null,
102
- shipping_customer_id integer default null,
103
- primary key (id)
104
- );
105
- create sequence orders_seq minvalue 10000;
106
-
107
- create table customers (
108
- id integer not null,
109
- name varchar(100) default null,
110
- balance integer default 0,
111
- address_street varchar(100) default null,
112
- address_city varchar(100) default null,
113
- address_country varchar(100) default null,
114
- gps_location varchar(100) default null,
115
- primary key (id)
116
- );
117
- create sequence customers_seq minvalue 10000;
118
-
119
- create table movies (
120
- movieid integer not null,
121
- name varchar(100) default null,
122
- primary key (movieid)
123
- );
124
- create sequence movies_seq minvalue 10000;
125
-
126
- create table subscribers (
127
- nick varchar(100) not null,
128
- name varchar(100) default null,
129
- primary key (nick)
130
- );
131
- create sequence subscribers_seq minvalue 10000;
132
-
133
- create table booleantests (
134
- id integer not null,
135
- value integer default null,
136
- primary key (id)
137
- );
138
- create sequence booleantests_seq minvalue 10000;
139
-
140
- CREATE TABLE defaults (
141
- id integer not null,
142
- modified_date date default sysdate,
143
- modified_date_function date default sysdate,
144
- fixed_date date default to_date('2004-01-01', 'YYYY-MM-DD'),
145
- modified_time date default sysdate,
146
- modified_time_function date default sysdate,
147
- fixed_time date default TO_DATE('2004-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'),
148
- char1 varchar2(1) default 'Y',
149
- char2 varchar2(50) default 'a varchar field',
150
- char3 clob default 'a text field',
151
- positive_integer integer default 1,
152
- negative_integer integer default -1,
153
- decimal_number number(3,2) default 2.78
154
- );
155
- create sequence defaults_seq minvalue 10000;
156
-
157
- create table auto_id_tests (
158
- auto_id integer not null,
159
- value integer default null,
160
- primary key (auto_id)
161
- );
162
- create sequence auto_id_tests_seq minvalue 10000;
163
-
164
- create table entrants (
165
- id integer not null primary key,
166
- name varchar(255) not null,
167
- course_id integer not null
168
- );
169
- create sequence entrants_seq minvalue 10000;
170
-
171
- create table colnametests (
172
- id integer not null,
173
- references integer not null,
174
- primary key (id)
175
- );
176
- create sequence colnametests_seq minvalue 10000;
177
-
178
- create table mixins (
179
- id integer not null,
180
- parent_id integer default null references mixins initially deferred disable,
181
- type varchar(40) default null,
182
- pos integer default null,
183
- lft integer default null,
184
- rgt integer default null,
185
- root_id integer default null,
186
- created_at timestamp default null,
187
- updated_at timestamp default null,
188
- primary key (id)
189
- );
190
- -- try again for 8i
191
- create table mixins (
192
- id integer not null,
193
- parent_id integer default null references mixins initially deferred disable,
194
- type varchar(40) default null,
195
- pos integer default null,
196
- lft integer default null,
197
- rgt integer default null,
198
- root_id integer default null,
199
- created_at date default null,
200
- updated_at date default null,
201
- primary key (id)
202
- );
203
- create sequence mixins_seq minvalue 10000;
204
-
205
- create table people (
206
- id integer not null,
207
- first_name varchar(40) null,
208
- lock_version integer default 0,
209
- primary key (id)
210
- );
211
- create sequence people_seq minvalue 10000;
212
-
213
- create table readers (
214
- id integer not null,
215
- post_id integer not null,
216
- person_id integer not null,
217
- primary key (id)
218
- );
219
- create sequence readers_seq minvalue 10000;
220
-
221
- create table binaries (
222
- id integer not null,
223
- data blob null,
224
- primary key (id)
225
- );
226
- create sequence binaries_seq minvalue 10000;
227
-
228
- create table computers (
229
- id integer not null primary key,
230
- developer integer not null references developers initially deferred disable,
231
- "extendedWarranty" integer not null
232
- );
233
- create sequence computers_seq minvalue 10000;
234
-
235
- create table posts (
236
- id integer not null primary key,
237
- author_id integer default null,
238
- title varchar(255) default null,
239
- type varchar(255) default null,
240
- body varchar(3000) default null
241
- );
242
- create sequence posts_seq minvalue 10000;
243
-
244
- create table comments (
245
- id integer not null primary key,
246
- post_id integer default null,
247
- type varchar(255) default null,
248
- body varchar(3000) default null
249
- );
250
- create sequence comments_seq minvalue 10000;
251
-
252
- create table authors (
253
- id integer not null primary key,
254
- name varchar(255) default null
255
- );
256
- create sequence authors_seq minvalue 10000;
257
-
258
- create table tasks (
259
- id integer not null primary key,
260
- starting date default null,
261
- ending date default null
262
- );
263
- create sequence tasks_seq minvalue 10000;
264
-
265
- create table categories (
266
- id integer not null primary key,
267
- name varchar(255) default null,
268
- type varchar(255) default null
269
- );
270
- create sequence categories_seq minvalue 10000;
271
-
272
- create table categories_posts (
273
- category_id integer not null references categories initially deferred disable,
274
- post_id integer not null references posts initially deferred disable
275
- );
276
- create sequence categories_posts_seq minvalue 10000;
277
-
278
- create table fk_test_has_pk (
279
- id integer not null primary key
280
- );
281
- create sequence fk_test_has_pk_seq minvalue 10000;
282
-
283
- create table fk_test_has_fk (
284
- id integer not null primary key,
285
- fk_id integer not null references fk_test_has_fk initially deferred disable
286
- );
287
- create sequence fk_test_has_fk_seq minvalue 10000;
288
-
289
- create table keyboards (
290
- key_number integer not null,
291
- name varchar(50) default null
292
- );
293
- create sequence keyboards_seq minvalue 10000;
294
-
295
- create table test_oracle_defaults (
296
- id integer not null primary key,
297
- test_char char(1) default 'X' not null,
298
- test_string varchar2(20) default 'hello' not null,
299
- test_int integer default 3 not null
300
- );
301
- create sequence test_oracle_defaults_seq minvalue 10000;
302
-
303
- --This table has an altered lock_version column name.
304
- create table legacy_things (
305
- id integer not null primary key,
306
- tps_report_number integer default null,
307
- version integer default 0
308
- );
309
- create sequence legacy_things_seq minvalue 10000;
310
-
311
- CREATE TABLE numeric_data (
312
- id integer NOT NULL PRIMARY KEY,
313
- bank_balance decimal(10,2),
314
- big_bank_balance decimal(15,2),
315
- world_population decimal(10),
316
- my_house_population decimal(2),
317
- decimal_number_with_default decimal(3,2) DEFAULT 2.78
318
- );
319
- create sequence numeric_data_seq minvalue 10000;
320
-
321
- CREATE TABLE mixed_case_monkeys (
322
- "monkeyID" INTEGER NOT NULL PRIMARY KEY,
323
- "fleaCount" INTEGER
324
- );
325
- create sequence mixed_case_monkeys_seq minvalue 10000;
326
-
327
- CREATE TABLE minimalistics (
328
- id INTEGER NOT NULL PRIMARY KEY
329
- );
330
- create sequence minimalistics_seq minvalue 10000;
@@ -1,2 +0,0 @@
1
- drop table courses;
2
- drop sequence courses_seq;
@@ -1,6 +0,0 @@
1
- create table courses (
2
- id int not null primary key,
3
- name varchar(255) not null
4
- );
5
-
6
- create sequence courses_seq minvalue 10000;
@@ -1,44 +0,0 @@
1
- DROP TABLE accounts;
2
- DROP SEQUENCE accounts_id_seq;
3
- DROP TABLE funny_jokes;
4
- DROP TABLE companies;
5
- DROP SEQUENCE companies_nonstd_seq;
6
- DROP TABLE topics;
7
- DROP TABLE developers;
8
- DROP TABLE projects;
9
- DROP TABLE developers_projects;
10
- DROP TABLE customers;
11
- DROP TABLE orders;
12
- DROP TABLE movies;
13
- DROP TABLE subscribers;
14
- DROP TABLE booleantests;
15
- DROP TABLE auto_id_tests;
16
- DROP TABLE entrants;
17
- DROP TABLE colnametests;
18
- DROP TABLE mixins;
19
- DROP TABLE people;
20
- DROP TABLE readers;
21
- DROP TABLE binaries;
22
- DROP TABLE computers;
23
- DROP TABLE posts;
24
- DROP TABLE comments;
25
- DROP TABLE authors;
26
- DROP TABLE tasks;
27
- DROP TABLE categories;
28
- DROP TABLE categories_posts;
29
- DROP TABLE defaults;
30
- DROP TABLE fk_test_has_fk;
31
- DROP TABLE fk_test_has_pk;
32
- DROP TABLE geometrics;
33
- DROP TABLE keyboards;
34
- DROP TABLE legacy_things;
35
- DROP TABLE numeric_data;
36
- DROP TABLE column_data;
37
- DROP TABLE mixed_case_monkeys;
38
- DROP TABLE postgresql_arrays;
39
- DROP TABLE postgresql_moneys;
40
- DROP TABLE postgresql_numbers;
41
- DROP TABLE postgresql_times;
42
- DROP TABLE postgresql_network_addresses;
43
- DROP TABLE postgresql_bit_strings;
44
- DROP TABLE postgresql_oids;