activerecord 2.3.18 → 3.2.22

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 (454) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +1014 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.rdoc +222 -0
  5. data/examples/performance.rb +100 -126
  6. data/examples/simple.rb +14 -0
  7. data/lib/active_record/aggregations.rb +93 -99
  8. data/lib/active_record/associations/alias_tracker.rb +76 -0
  9. data/lib/active_record/associations/association.rb +247 -0
  10. data/lib/active_record/associations/association_scope.rb +134 -0
  11. data/lib/active_record/associations/belongs_to_association.rb +54 -61
  12. data/lib/active_record/associations/belongs_to_polymorphic_association.rb +17 -59
  13. data/lib/active_record/associations/builder/association.rb +55 -0
  14. data/lib/active_record/associations/builder/belongs_to.rb +88 -0
  15. data/lib/active_record/associations/builder/collection_association.rb +75 -0
  16. data/lib/active_record/associations/builder/has_and_belongs_to_many.rb +57 -0
  17. data/lib/active_record/associations/builder/has_many.rb +71 -0
  18. data/lib/active_record/associations/builder/has_one.rb +62 -0
  19. data/lib/active_record/associations/builder/singular_association.rb +32 -0
  20. data/lib/active_record/associations/collection_association.rb +580 -0
  21. data/lib/active_record/associations/collection_proxy.rb +133 -0
  22. data/lib/active_record/associations/has_and_belongs_to_many_association.rb +39 -119
  23. data/lib/active_record/associations/has_many_association.rb +60 -79
  24. data/lib/active_record/associations/has_many_through_association.rb +127 -206
  25. data/lib/active_record/associations/has_one_association.rb +55 -114
  26. data/lib/active_record/associations/has_one_through_association.rb +25 -26
  27. data/lib/active_record/associations/join_dependency/join_association.rb +159 -0
  28. data/lib/active_record/associations/join_dependency/join_base.rb +24 -0
  29. data/lib/active_record/associations/join_dependency/join_part.rb +78 -0
  30. data/lib/active_record/associations/join_dependency.rb +214 -0
  31. data/lib/active_record/associations/join_helper.rb +55 -0
  32. data/lib/active_record/associations/preloader/association.rb +125 -0
  33. data/lib/active_record/associations/preloader/belongs_to.rb +17 -0
  34. data/lib/active_record/associations/preloader/collection_association.rb +24 -0
  35. data/lib/active_record/associations/preloader/has_and_belongs_to_many.rb +60 -0
  36. data/lib/active_record/associations/preloader/has_many.rb +17 -0
  37. data/lib/active_record/associations/preloader/has_many_through.rb +15 -0
  38. data/lib/active_record/associations/preloader/has_one.rb +23 -0
  39. data/lib/active_record/associations/preloader/has_one_through.rb +9 -0
  40. data/lib/active_record/associations/preloader/singular_association.rb +21 -0
  41. data/lib/active_record/associations/preloader/through_association.rb +67 -0
  42. data/lib/active_record/associations/preloader.rb +181 -0
  43. data/lib/active_record/associations/singular_association.rb +64 -0
  44. data/lib/active_record/associations/through_association.rb +87 -0
  45. data/lib/active_record/associations.rb +693 -1337
  46. data/lib/active_record/attribute_assignment.rb +221 -0
  47. data/lib/active_record/attribute_methods/before_type_cast.rb +31 -0
  48. data/lib/active_record/attribute_methods/deprecated_underscore_read.rb +32 -0
  49. data/lib/active_record/attribute_methods/dirty.rb +111 -0
  50. data/lib/active_record/attribute_methods/primary_key.rb +114 -0
  51. data/lib/active_record/attribute_methods/query.rb +39 -0
  52. data/lib/active_record/attribute_methods/read.rb +136 -0
  53. data/lib/active_record/attribute_methods/serialization.rb +120 -0
  54. data/lib/active_record/attribute_methods/time_zone_conversion.rb +65 -0
  55. data/lib/active_record/attribute_methods/write.rb +70 -0
  56. data/lib/active_record/attribute_methods.rb +211 -339
  57. data/lib/active_record/autosave_association.rb +179 -149
  58. data/lib/active_record/base.rb +401 -2907
  59. data/lib/active_record/callbacks.rb +91 -176
  60. data/lib/active_record/coders/yaml_column.rb +41 -0
  61. data/lib/active_record/connection_adapters/abstract/connection_pool.rb +236 -119
  62. data/lib/active_record/connection_adapters/abstract/connection_specification.rb +110 -58
  63. data/lib/active_record/connection_adapters/abstract/database_limits.rb +12 -11
  64. data/lib/active_record/connection_adapters/abstract/database_statements.rb +175 -74
  65. data/lib/active_record/connection_adapters/abstract/query_cache.rb +31 -35
  66. data/lib/active_record/connection_adapters/abstract/quoting.rb +71 -21
  67. data/lib/active_record/connection_adapters/abstract/schema_definitions.rb +81 -311
  68. data/lib/active_record/connection_adapters/abstract/schema_statements.rb +194 -78
  69. data/lib/active_record/connection_adapters/abstract_adapter.rb +130 -83
  70. data/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +676 -0
  71. data/lib/active_record/connection_adapters/column.rb +296 -0
  72. data/lib/active_record/connection_adapters/mysql2_adapter.rb +280 -0
  73. data/lib/active_record/connection_adapters/mysql_adapter.rb +272 -493
  74. data/lib/active_record/connection_adapters/postgresql_adapter.rb +650 -405
  75. data/lib/active_record/connection_adapters/schema_cache.rb +69 -0
  76. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +30 -9
  77. data/lib/active_record/connection_adapters/sqlite_adapter.rb +276 -147
  78. data/lib/active_record/connection_adapters/statement_pool.rb +40 -0
  79. data/lib/active_record/counter_cache.rb +123 -0
  80. data/lib/active_record/dynamic_finder_match.rb +41 -14
  81. data/lib/active_record/dynamic_matchers.rb +84 -0
  82. data/lib/active_record/dynamic_scope_match.rb +13 -15
  83. data/lib/active_record/errors.rb +195 -0
  84. data/lib/active_record/explain.rb +86 -0
  85. data/lib/active_record/explain_subscriber.rb +25 -0
  86. data/lib/active_record/fixtures/file.rb +65 -0
  87. data/lib/active_record/fixtures.rb +695 -770
  88. data/lib/active_record/identity_map.rb +162 -0
  89. data/lib/active_record/inheritance.rb +174 -0
  90. data/lib/active_record/integration.rb +60 -0
  91. data/lib/active_record/locale/en.yml +9 -27
  92. data/lib/active_record/locking/optimistic.rb +76 -73
  93. data/lib/active_record/locking/pessimistic.rb +32 -10
  94. data/lib/active_record/log_subscriber.rb +72 -0
  95. data/lib/active_record/migration/command_recorder.rb +105 -0
  96. data/lib/active_record/migration.rb +415 -205
  97. data/lib/active_record/model_schema.rb +368 -0
  98. data/lib/active_record/nested_attributes.rb +153 -63
  99. data/lib/active_record/observer.rb +27 -103
  100. data/lib/active_record/persistence.rb +376 -0
  101. data/lib/active_record/query_cache.rb +49 -8
  102. data/lib/active_record/querying.rb +58 -0
  103. data/lib/active_record/railtie.rb +131 -0
  104. data/lib/active_record/railties/console_sandbox.rb +6 -0
  105. data/lib/active_record/railties/controller_runtime.rb +49 -0
  106. data/lib/active_record/railties/databases.rake +659 -0
  107. data/lib/active_record/railties/jdbcmysql_error.rb +16 -0
  108. data/lib/active_record/readonly_attributes.rb +26 -0
  109. data/lib/active_record/reflection.rb +269 -120
  110. data/lib/active_record/relation/batches.rb +90 -0
  111. data/lib/active_record/relation/calculations.rb +372 -0
  112. data/lib/active_record/relation/delegation.rb +49 -0
  113. data/lib/active_record/relation/finder_methods.rb +402 -0
  114. data/lib/active_record/relation/predicate_builder.rb +63 -0
  115. data/lib/active_record/relation/query_methods.rb +417 -0
  116. data/lib/active_record/relation/spawn_methods.rb +180 -0
  117. data/lib/active_record/relation.rb +537 -0
  118. data/lib/active_record/result.rb +40 -0
  119. data/lib/active_record/sanitization.rb +194 -0
  120. data/lib/active_record/schema.rb +9 -6
  121. data/lib/active_record/schema_dumper.rb +55 -32
  122. data/lib/active_record/scoping/default.rb +142 -0
  123. data/lib/active_record/scoping/named.rb +200 -0
  124. data/lib/active_record/scoping.rb +152 -0
  125. data/lib/active_record/serialization.rb +8 -91
  126. data/lib/active_record/serializers/xml_serializer.rb +43 -197
  127. data/lib/active_record/session_store.rb +129 -103
  128. data/lib/active_record/store.rb +52 -0
  129. data/lib/active_record/test_case.rb +30 -23
  130. data/lib/active_record/timestamp.rb +95 -52
  131. data/lib/active_record/transactions.rb +212 -66
  132. data/lib/active_record/translation.rb +22 -0
  133. data/lib/active_record/validations/associated.rb +43 -0
  134. data/lib/active_record/validations/uniqueness.rb +180 -0
  135. data/lib/active_record/validations.rb +43 -1106
  136. data/lib/active_record/version.rb +5 -4
  137. data/lib/active_record.rb +121 -48
  138. data/lib/rails/generators/active_record/migration/migration_generator.rb +25 -0
  139. data/lib/rails/generators/active_record/migration/templates/migration.rb +34 -0
  140. data/lib/rails/generators/active_record/migration.rb +15 -0
  141. data/lib/rails/generators/active_record/model/model_generator.rb +47 -0
  142. data/lib/rails/generators/active_record/model/templates/migration.rb +15 -0
  143. data/lib/rails/generators/active_record/model/templates/model.rb +12 -0
  144. data/lib/rails/generators/active_record/model/templates/module.rb +7 -0
  145. data/lib/rails/generators/active_record/observer/observer_generator.rb +15 -0
  146. data/lib/rails/generators/active_record/observer/templates/observer.rb +4 -0
  147. data/lib/rails/generators/active_record/session_migration/session_migration_generator.rb +25 -0
  148. data/lib/rails/generators/active_record/session_migration/templates/migration.rb +12 -0
  149. data/lib/rails/generators/active_record.rb +25 -0
  150. metadata +187 -363
  151. data/CHANGELOG +0 -5904
  152. data/README +0 -351
  153. data/RUNNING_UNIT_TESTS +0 -36
  154. data/Rakefile +0 -268
  155. data/install.rb +0 -30
  156. data/lib/active_record/association_preload.rb +0 -406
  157. data/lib/active_record/associations/association_collection.rb +0 -533
  158. data/lib/active_record/associations/association_proxy.rb +0 -288
  159. data/lib/active_record/batches.rb +0 -85
  160. data/lib/active_record/calculations.rb +0 -321
  161. data/lib/active_record/dirty.rb +0 -183
  162. data/lib/active_record/named_scope.rb +0 -197
  163. data/lib/active_record/serializers/json_serializer.rb +0 -91
  164. data/lib/activerecord.rb +0 -2
  165. data/test/assets/example.log +0 -1
  166. data/test/assets/flowers.jpg +0 -0
  167. data/test/cases/aaa_create_tables_test.rb +0 -24
  168. data/test/cases/active_schema_test_mysql.rb +0 -122
  169. data/test/cases/active_schema_test_postgresql.rb +0 -24
  170. data/test/cases/adapter_test.rb +0 -144
  171. data/test/cases/aggregations_test.rb +0 -167
  172. data/test/cases/ar_schema_test.rb +0 -32
  173. data/test/cases/associations/belongs_to_associations_test.rb +0 -438
  174. data/test/cases/associations/callbacks_test.rb +0 -161
  175. data/test/cases/associations/cascaded_eager_loading_test.rb +0 -131
  176. data/test/cases/associations/eager_load_includes_full_sti_class_test.rb +0 -36
  177. data/test/cases/associations/eager_load_nested_include_test.rb +0 -131
  178. data/test/cases/associations/eager_load_nested_polymorphic_include.rb +0 -19
  179. data/test/cases/associations/eager_singularization_test.rb +0 -145
  180. data/test/cases/associations/eager_test.rb +0 -852
  181. data/test/cases/associations/extension_test.rb +0 -62
  182. data/test/cases/associations/habtm_join_table_test.rb +0 -56
  183. data/test/cases/associations/has_and_belongs_to_many_associations_test.rb +0 -827
  184. data/test/cases/associations/has_many_associations_test.rb +0 -1273
  185. data/test/cases/associations/has_many_through_associations_test.rb +0 -360
  186. data/test/cases/associations/has_one_associations_test.rb +0 -330
  187. data/test/cases/associations/has_one_through_associations_test.rb +0 -209
  188. data/test/cases/associations/inner_join_association_test.rb +0 -93
  189. data/test/cases/associations/inverse_associations_test.rb +0 -566
  190. data/test/cases/associations/join_model_test.rb +0 -712
  191. data/test/cases/associations_test.rb +0 -282
  192. data/test/cases/attribute_methods_test.rb +0 -305
  193. data/test/cases/autosave_association_test.rb +0 -1218
  194. data/test/cases/base_test.rb +0 -2166
  195. data/test/cases/batches_test.rb +0 -81
  196. data/test/cases/binary_test.rb +0 -30
  197. data/test/cases/calculations_test.rb +0 -360
  198. data/test/cases/callbacks_observers_test.rb +0 -38
  199. data/test/cases/callbacks_test.rb +0 -438
  200. data/test/cases/class_inheritable_attributes_test.rb +0 -32
  201. data/test/cases/column_alias_test.rb +0 -17
  202. data/test/cases/column_definition_test.rb +0 -70
  203. data/test/cases/connection_pool_test.rb +0 -25
  204. data/test/cases/connection_test_firebird.rb +0 -8
  205. data/test/cases/connection_test_mysql.rb +0 -65
  206. data/test/cases/copy_table_test_sqlite.rb +0 -80
  207. data/test/cases/counter_cache_test.rb +0 -84
  208. data/test/cases/database_statements_test.rb +0 -12
  209. data/test/cases/datatype_test_postgresql.rb +0 -204
  210. data/test/cases/date_time_test.rb +0 -37
  211. data/test/cases/default_test_firebird.rb +0 -16
  212. data/test/cases/defaults_test.rb +0 -111
  213. data/test/cases/deprecated_finder_test.rb +0 -30
  214. data/test/cases/dirty_test.rb +0 -316
  215. data/test/cases/finder_respond_to_test.rb +0 -76
  216. data/test/cases/finder_test.rb +0 -1098
  217. data/test/cases/fixtures_test.rb +0 -661
  218. data/test/cases/helper.rb +0 -68
  219. data/test/cases/i18n_test.rb +0 -46
  220. data/test/cases/inheritance_test.rb +0 -262
  221. data/test/cases/invalid_date_test.rb +0 -24
  222. data/test/cases/json_serialization_test.rb +0 -219
  223. data/test/cases/lifecycle_test.rb +0 -193
  224. data/test/cases/locking_test.rb +0 -350
  225. data/test/cases/method_scoping_test.rb +0 -704
  226. data/test/cases/migration_test.rb +0 -1649
  227. data/test/cases/migration_test_firebird.rb +0 -124
  228. data/test/cases/mixin_test.rb +0 -96
  229. data/test/cases/modules_test.rb +0 -109
  230. data/test/cases/multiple_db_test.rb +0 -85
  231. data/test/cases/named_scope_test.rb +0 -372
  232. data/test/cases/nested_attributes_test.rb +0 -840
  233. data/test/cases/pk_test.rb +0 -119
  234. data/test/cases/pooled_connections_test.rb +0 -103
  235. data/test/cases/query_cache_test.rb +0 -129
  236. data/test/cases/readonly_test.rb +0 -107
  237. data/test/cases/reflection_test.rb +0 -234
  238. data/test/cases/reload_models_test.rb +0 -22
  239. data/test/cases/repair_helper.rb +0 -50
  240. data/test/cases/reserved_word_test_mysql.rb +0 -176
  241. data/test/cases/sanitize_test.rb +0 -25
  242. data/test/cases/schema_authorization_test_postgresql.rb +0 -75
  243. data/test/cases/schema_dumper_test.rb +0 -211
  244. data/test/cases/schema_test_postgresql.rb +0 -178
  245. data/test/cases/serialization_test.rb +0 -47
  246. data/test/cases/sp_test_mysql.rb +0 -16
  247. data/test/cases/synonym_test_oracle.rb +0 -17
  248. data/test/cases/timestamp_test.rb +0 -75
  249. data/test/cases/transactions_test.rb +0 -543
  250. data/test/cases/unconnected_test.rb +0 -32
  251. data/test/cases/validations_i18n_test.rb +0 -925
  252. data/test/cases/validations_test.rb +0 -1684
  253. data/test/cases/xml_serialization_test.rb +0 -240
  254. data/test/cases/yaml_serialization_test.rb +0 -11
  255. data/test/config.rb +0 -5
  256. data/test/connections/jdbc_jdbcderby/connection.rb +0 -18
  257. data/test/connections/jdbc_jdbch2/connection.rb +0 -18
  258. data/test/connections/jdbc_jdbchsqldb/connection.rb +0 -18
  259. data/test/connections/jdbc_jdbcmysql/connection.rb +0 -26
  260. data/test/connections/jdbc_jdbcpostgresql/connection.rb +0 -26
  261. data/test/connections/jdbc_jdbcsqlite3/connection.rb +0 -25
  262. data/test/connections/native_db2/connection.rb +0 -25
  263. data/test/connections/native_firebird/connection.rb +0 -26
  264. data/test/connections/native_frontbase/connection.rb +0 -27
  265. data/test/connections/native_mysql/connection.rb +0 -25
  266. data/test/connections/native_openbase/connection.rb +0 -21
  267. data/test/connections/native_oracle/connection.rb +0 -27
  268. data/test/connections/native_postgresql/connection.rb +0 -21
  269. data/test/connections/native_sqlite/connection.rb +0 -25
  270. data/test/connections/native_sqlite3/connection.rb +0 -25
  271. data/test/connections/native_sqlite3/in_memory_connection.rb +0 -18
  272. data/test/connections/native_sybase/connection.rb +0 -23
  273. data/test/fixtures/accounts.yml +0 -29
  274. data/test/fixtures/all/developers.yml +0 -0
  275. data/test/fixtures/all/people.csv +0 -0
  276. data/test/fixtures/all/tasks.yml +0 -0
  277. data/test/fixtures/author_addresses.yml +0 -5
  278. data/test/fixtures/author_favorites.yml +0 -4
  279. data/test/fixtures/authors.yml +0 -9
  280. data/test/fixtures/binaries.yml +0 -132
  281. data/test/fixtures/books.yml +0 -7
  282. data/test/fixtures/categories/special_categories.yml +0 -9
  283. data/test/fixtures/categories/subsubdir/arbitrary_filename.yml +0 -4
  284. data/test/fixtures/categories.yml +0 -14
  285. data/test/fixtures/categories_ordered.yml +0 -7
  286. data/test/fixtures/categories_posts.yml +0 -23
  287. data/test/fixtures/categorizations.yml +0 -17
  288. data/test/fixtures/clubs.yml +0 -6
  289. data/test/fixtures/comments.yml +0 -59
  290. data/test/fixtures/companies.yml +0 -56
  291. data/test/fixtures/computers.yml +0 -4
  292. data/test/fixtures/courses.yml +0 -7
  293. data/test/fixtures/customers.yml +0 -26
  294. data/test/fixtures/developers.yml +0 -21
  295. data/test/fixtures/developers_projects.yml +0 -17
  296. data/test/fixtures/edges.yml +0 -6
  297. data/test/fixtures/entrants.yml +0 -14
  298. data/test/fixtures/faces.yml +0 -11
  299. data/test/fixtures/fk_test_has_fk.yml +0 -3
  300. data/test/fixtures/fk_test_has_pk.yml +0 -2
  301. data/test/fixtures/funny_jokes.yml +0 -10
  302. data/test/fixtures/interests.yml +0 -33
  303. data/test/fixtures/items.yml +0 -4
  304. data/test/fixtures/jobs.yml +0 -7
  305. data/test/fixtures/legacy_things.yml +0 -3
  306. data/test/fixtures/mateys.yml +0 -4
  307. data/test/fixtures/member_types.yml +0 -6
  308. data/test/fixtures/members.yml +0 -6
  309. data/test/fixtures/memberships.yml +0 -20
  310. data/test/fixtures/men.yml +0 -5
  311. data/test/fixtures/minimalistics.yml +0 -2
  312. data/test/fixtures/mixed_case_monkeys.yml +0 -6
  313. data/test/fixtures/mixins.yml +0 -29
  314. data/test/fixtures/movies.yml +0 -7
  315. data/test/fixtures/naked/csv/accounts.csv +0 -1
  316. data/test/fixtures/naked/yml/accounts.yml +0 -1
  317. data/test/fixtures/naked/yml/companies.yml +0 -1
  318. data/test/fixtures/naked/yml/courses.yml +0 -1
  319. data/test/fixtures/organizations.yml +0 -5
  320. data/test/fixtures/owners.yml +0 -7
  321. data/test/fixtures/parrots.yml +0 -27
  322. data/test/fixtures/parrots_pirates.yml +0 -7
  323. data/test/fixtures/people.yml +0 -15
  324. data/test/fixtures/pets.yml +0 -14
  325. data/test/fixtures/pirates.yml +0 -9
  326. data/test/fixtures/polymorphic_designs.yml +0 -19
  327. data/test/fixtures/polymorphic_prices.yml +0 -19
  328. data/test/fixtures/posts.yml +0 -52
  329. data/test/fixtures/price_estimates.yml +0 -7
  330. data/test/fixtures/projects.yml +0 -7
  331. data/test/fixtures/readers.yml +0 -9
  332. data/test/fixtures/references.yml +0 -17
  333. data/test/fixtures/reserved_words/distinct.yml +0 -5
  334. data/test/fixtures/reserved_words/distincts_selects.yml +0 -11
  335. data/test/fixtures/reserved_words/group.yml +0 -14
  336. data/test/fixtures/reserved_words/select.yml +0 -8
  337. data/test/fixtures/reserved_words/values.yml +0 -7
  338. data/test/fixtures/ships.yml +0 -5
  339. data/test/fixtures/sponsors.yml +0 -9
  340. data/test/fixtures/subscribers.yml +0 -7
  341. data/test/fixtures/subscriptions.yml +0 -12
  342. data/test/fixtures/taggings.yml +0 -28
  343. data/test/fixtures/tags.yml +0 -7
  344. data/test/fixtures/tasks.yml +0 -7
  345. data/test/fixtures/tees.yml +0 -4
  346. data/test/fixtures/ties.yml +0 -4
  347. data/test/fixtures/topics.yml +0 -42
  348. data/test/fixtures/toys.yml +0 -4
  349. data/test/fixtures/treasures.yml +0 -10
  350. data/test/fixtures/vertices.yml +0 -4
  351. data/test/fixtures/warehouse-things.yml +0 -3
  352. data/test/fixtures/zines.yml +0 -5
  353. data/test/migrations/broken/100_migration_that_raises_exception.rb +0 -10
  354. data/test/migrations/decimal/1_give_me_big_numbers.rb +0 -15
  355. data/test/migrations/duplicate/1_people_have_last_names.rb +0 -9
  356. data/test/migrations/duplicate/2_we_need_reminders.rb +0 -12
  357. data/test/migrations/duplicate/3_foo.rb +0 -7
  358. data/test/migrations/duplicate/3_innocent_jointable.rb +0 -12
  359. data/test/migrations/duplicate_names/20080507052938_chunky.rb +0 -7
  360. data/test/migrations/duplicate_names/20080507053028_chunky.rb +0 -7
  361. data/test/migrations/interleaved/pass_1/3_innocent_jointable.rb +0 -12
  362. data/test/migrations/interleaved/pass_2/1_people_have_last_names.rb +0 -9
  363. data/test/migrations/interleaved/pass_2/3_innocent_jointable.rb +0 -12
  364. data/test/migrations/interleaved/pass_3/1_people_have_last_names.rb +0 -9
  365. data/test/migrations/interleaved/pass_3/2_i_raise_on_down.rb +0 -8
  366. data/test/migrations/interleaved/pass_3/3_innocent_jointable.rb +0 -12
  367. data/test/migrations/missing/1000_people_have_middle_names.rb +0 -9
  368. data/test/migrations/missing/1_people_have_last_names.rb +0 -9
  369. data/test/migrations/missing/3_we_need_reminders.rb +0 -12
  370. data/test/migrations/missing/4_innocent_jointable.rb +0 -12
  371. data/test/migrations/valid/1_people_have_last_names.rb +0 -9
  372. data/test/migrations/valid/2_we_need_reminders.rb +0 -12
  373. data/test/migrations/valid/3_innocent_jointable.rb +0 -12
  374. data/test/models/author.rb +0 -151
  375. data/test/models/auto_id.rb +0 -4
  376. data/test/models/binary.rb +0 -2
  377. data/test/models/bird.rb +0 -9
  378. data/test/models/book.rb +0 -4
  379. data/test/models/categorization.rb +0 -5
  380. data/test/models/category.rb +0 -34
  381. data/test/models/citation.rb +0 -6
  382. data/test/models/club.rb +0 -13
  383. data/test/models/column_name.rb +0 -3
  384. data/test/models/comment.rb +0 -29
  385. data/test/models/company.rb +0 -173
  386. data/test/models/company_in_module.rb +0 -78
  387. data/test/models/computer.rb +0 -3
  388. data/test/models/contact.rb +0 -16
  389. data/test/models/contract.rb +0 -5
  390. data/test/models/course.rb +0 -3
  391. data/test/models/customer.rb +0 -73
  392. data/test/models/default.rb +0 -2
  393. data/test/models/developer.rb +0 -101
  394. data/test/models/edge.rb +0 -5
  395. data/test/models/entrant.rb +0 -3
  396. data/test/models/essay.rb +0 -3
  397. data/test/models/event.rb +0 -3
  398. data/test/models/event_author.rb +0 -8
  399. data/test/models/face.rb +0 -7
  400. data/test/models/guid.rb +0 -2
  401. data/test/models/interest.rb +0 -5
  402. data/test/models/invoice.rb +0 -4
  403. data/test/models/item.rb +0 -7
  404. data/test/models/job.rb +0 -5
  405. data/test/models/joke.rb +0 -3
  406. data/test/models/keyboard.rb +0 -3
  407. data/test/models/legacy_thing.rb +0 -3
  408. data/test/models/line_item.rb +0 -3
  409. data/test/models/man.rb +0 -9
  410. data/test/models/matey.rb +0 -4
  411. data/test/models/member.rb +0 -12
  412. data/test/models/member_detail.rb +0 -5
  413. data/test/models/member_type.rb +0 -3
  414. data/test/models/membership.rb +0 -9
  415. data/test/models/minimalistic.rb +0 -2
  416. data/test/models/mixed_case_monkey.rb +0 -3
  417. data/test/models/movie.rb +0 -5
  418. data/test/models/order.rb +0 -4
  419. data/test/models/organization.rb +0 -6
  420. data/test/models/owner.rb +0 -5
  421. data/test/models/parrot.rb +0 -22
  422. data/test/models/person.rb +0 -16
  423. data/test/models/pet.rb +0 -5
  424. data/test/models/pirate.rb +0 -80
  425. data/test/models/polymorphic_design.rb +0 -3
  426. data/test/models/polymorphic_price.rb +0 -3
  427. data/test/models/post.rb +0 -102
  428. data/test/models/price_estimate.rb +0 -3
  429. data/test/models/project.rb +0 -30
  430. data/test/models/reader.rb +0 -4
  431. data/test/models/reference.rb +0 -4
  432. data/test/models/reply.rb +0 -46
  433. data/test/models/ship.rb +0 -19
  434. data/test/models/ship_part.rb +0 -7
  435. data/test/models/sponsor.rb +0 -4
  436. data/test/models/subject.rb +0 -4
  437. data/test/models/subscriber.rb +0 -8
  438. data/test/models/subscription.rb +0 -4
  439. data/test/models/tag.rb +0 -7
  440. data/test/models/tagging.rb +0 -10
  441. data/test/models/task.rb +0 -3
  442. data/test/models/tee.rb +0 -4
  443. data/test/models/tie.rb +0 -4
  444. data/test/models/topic.rb +0 -80
  445. data/test/models/toy.rb +0 -6
  446. data/test/models/treasure.rb +0 -8
  447. data/test/models/vertex.rb +0 -9
  448. data/test/models/warehouse_thing.rb +0 -5
  449. data/test/models/zine.rb +0 -3
  450. data/test/schema/mysql_specific_schema.rb +0 -31
  451. data/test/schema/postgresql_specific_schema.rb +0 -114
  452. data/test/schema/schema.rb +0 -550
  453. data/test/schema/schema2.rb +0 -6
  454. data/test/schema/sqlite_specific_schema.rb +0 -25
@@ -1,550 +0,0 @@
1
-
2
- ActiveRecord::Schema.define do
3
- def except(adapter_names_to_exclude)
4
- unless [adapter_names_to_exclude].flatten.include?(adapter_name)
5
- yield
6
- end
7
- end
8
-
9
- #put adapter specific setup here
10
- case adapter_name
11
- # For Firebird, set the sequence values 10000 when create_table is called;
12
- # this prevents primary key collisions between "normally" created records
13
- # and fixture-based (YAML) records.
14
- when "Firebird"
15
- def create_table(*args, &block)
16
- ActiveRecord::Base.connection.create_table(*args, &block)
17
- ActiveRecord::Base.connection.execute "SET GENERATOR #{args.first}_seq TO 10000"
18
- end
19
- end
20
-
21
-
22
- # Please keep these create table statements in alphabetical order
23
- # unless the ordering matters. In which case, define them below
24
- create_table :accounts, :force => true do |t|
25
- t.integer :firm_id
26
- t.string :firm_name
27
- t.integer :credit_limit
28
- end
29
-
30
- create_table :audit_logs, :force => true do |t|
31
- t.column :message, :string, :null=>false
32
- t.column :developer_id, :integer, :null=>false
33
- end
34
-
35
- create_table :authors, :force => true do |t|
36
- t.string :name, :null => false
37
- t.integer :author_address_id
38
- t.integer :author_address_extra_id
39
- end
40
-
41
- create_table :author_addresses, :force => true do |t|
42
- end
43
-
44
- create_table :author_favorites, :force => true do |t|
45
- t.column :author_id, :integer
46
- t.column :favorite_author_id, :integer
47
- end
48
-
49
-
50
- create_table :auto_id_tests, :force => true, :id => false do |t|
51
- t.primary_key :auto_id
52
- t.integer :value
53
- end
54
-
55
- create_table :binaries, :force => true do |t|
56
- t.binary :data
57
- end
58
-
59
- create_table :birds, :force => true do |t|
60
- t.string :name
61
- t.string :color
62
- t.integer :pirate_id
63
- end
64
-
65
- create_table :books, :force => true do |t|
66
- t.column :name, :string
67
- end
68
-
69
- create_table :booleantests, :force => true do |t|
70
- t.boolean :value
71
- end
72
-
73
- create_table "CamelCase", :force => true do |t|
74
- t.string :name
75
- end
76
-
77
- create_table :categories, :force => true do |t|
78
- t.string :name, :null => false
79
- t.string :type
80
- t.integer :categorizations_count
81
- end
82
-
83
- create_table :categories_posts, :force => true, :id => false do |t|
84
- t.integer :category_id, :null => false
85
- t.integer :post_id, :null => false
86
- end
87
-
88
- create_table :categorizations, :force => true do |t|
89
- t.column :category_id, :integer
90
- t.column :post_id, :integer
91
- t.column :author_id, :integer
92
- end
93
-
94
- create_table :citations, :force => true do |t|
95
- t.column :book1_id, :integer
96
- t.column :book2_id, :integer
97
- end
98
-
99
- create_table :clubs, :force => true do |t|
100
- t.string :name
101
- end
102
-
103
- create_table :colnametests, :force => true do |t|
104
- t.integer :references, :null => false
105
- end
106
-
107
- create_table :comments, :force => true do |t|
108
- t.integer :post_id, :null => false
109
- t.text :body, :null => false
110
- t.string :type
111
- end
112
-
113
- create_table :companies, :force => true do |t|
114
- t.string :type
115
- t.string :ruby_type
116
- t.integer :firm_id
117
- t.string :firm_name
118
- t.string :name
119
- t.integer :client_of
120
- t.integer :rating, :default => 1
121
- end
122
-
123
- add_index :companies, [:firm_id, :type, :rating, :ruby_type], :name => "company_index"
124
-
125
- create_table :computers, :force => true do |t|
126
- t.integer :developer, :null => false
127
- t.integer :extendedWarranty, :null => false
128
- end
129
-
130
- create_table :contracts, :force => true do |t|
131
- t.integer :developer_id
132
- t.integer :company_id
133
- end
134
-
135
- create_table :customers, :force => true do |t|
136
- t.string :name
137
- t.integer :balance, :default => 0
138
- t.string :address_street
139
- t.string :address_city
140
- t.string :address_country
141
- t.string :gps_location
142
- end
143
-
144
- create_table :developers, :force => true do |t|
145
- t.string :name
146
- t.integer :salary, :default => 70000
147
- t.datetime :created_at
148
- t.datetime :updated_at
149
- end
150
-
151
- create_table :developers_projects, :force => true, :id => false do |t|
152
- t.integer :developer_id, :null => false
153
- t.integer :project_id, :null => false
154
- t.date :joined_on
155
- t.integer :access_level, :default => 1
156
- end
157
-
158
- create_table :edges, :force => true do |t|
159
- t.column :source_id, :integer, :null => false
160
- t.column :sink_id, :integer, :null => false
161
- end
162
- add_index :edges, [:source_id, :sink_id], :unique => true, :name => 'unique_edge_index'
163
-
164
-
165
- create_table :entrants, :force => true do |t|
166
- t.string :name, :null => false
167
- t.integer :course_id, :null => false
168
- end
169
-
170
- create_table :essays, :force => true do |t|
171
- t.string :name
172
- t.string :writer_id
173
- t.string :writer_type
174
- end
175
-
176
- create_table :events, :force => true do |t|
177
- t.string :title, :limit => 5
178
- t.datetime :ends_on
179
- end
180
-
181
- create_table :event_authors, :force => true do |t|
182
- t.integer :event_id
183
- t.integer :author_id
184
- end
185
-
186
- create_table :funny_jokes, :force => true do |t|
187
- t.string :name
188
- end
189
-
190
- create_table :goofy_string_id, :force => true, :id => false do |t|
191
- t.string :id, :null => false
192
- t.string :info
193
- end
194
-
195
- create_table :invoices, :force => true do |t|
196
- t.integer :balance
197
- t.datetime :updated_at
198
- end
199
-
200
- create_table :items, :force => true do |t|
201
- t.column :name, :integer
202
- end
203
-
204
- create_table :inept_wizards, :force => true do |t|
205
- t.column :name, :string, :null => false
206
- t.column :city, :string, :null => false
207
- t.column :type, :string
208
- end
209
-
210
-
211
- create_table :jobs, :force => true do |t|
212
- t.integer :ideal_reference_id
213
- end
214
-
215
- create_table :keyboards, :force => true, :id => false do |t|
216
- t.primary_key :key_number
217
- t.string :name
218
- end
219
-
220
- create_table :legacy_things, :force => true do |t|
221
- t.integer :tps_report_number
222
- t.integer :version, :null => false, :default => 0
223
- end
224
-
225
- create_table :line_items, :force => true do |t|
226
- t.integer :invoice_id
227
- t.integer :amount
228
- end
229
-
230
- create_table :lock_without_defaults, :force => true do |t|
231
- t.column :lock_version, :integer
232
- end
233
-
234
- create_table :lock_without_defaults_cust, :force => true do |t|
235
- t.column :custom_lock_version, :integer
236
- end
237
-
238
- create_table :mateys, :id => false, :force => true do |t|
239
- t.column :pirate_id, :integer
240
- t.column :target_id, :integer
241
- t.column :weight, :integer
242
- end
243
-
244
- create_table :members, :force => true do |t|
245
- t.string :name
246
- t.integer :member_type_id
247
- end
248
-
249
- create_table :member_details, :force => true do |t|
250
- t.integer :member_id
251
- t.integer :organization_id
252
- t.string :extra_data
253
- end
254
-
255
- create_table :memberships, :force => true do |t|
256
- t.datetime :joined_on
257
- t.integer :club_id, :member_id
258
- t.boolean :favourite, :default => false
259
- t.string :type
260
- end
261
-
262
- create_table :member_types, :force => true do |t|
263
- t.string :name
264
- end
265
-
266
- create_table :references, :force => true do |t|
267
- t.integer :person_id
268
- t.integer :job_id
269
- t.boolean :favourite
270
- t.integer :lock_version, :default => 0
271
- end
272
-
273
- create_table :minimalistics, :force => true do |t|
274
- end
275
-
276
- create_table :mixed_case_monkeys, :force => true, :id => false do |t|
277
- t.primary_key :monkeyID
278
- t.integer :fleaCount
279
- end
280
-
281
- create_table :mixins, :force => true do |t|
282
- t.integer :parent_id
283
- t.integer :pos
284
- t.datetime :created_at
285
- t.datetime :updated_at
286
- t.integer :lft
287
- t.integer :rgt
288
- t.integer :root_id
289
- t.string :type
290
- end
291
-
292
- create_table :movies, :force => true, :id => false do |t|
293
- t.primary_key :movieid
294
- t.string :name
295
- end
296
-
297
- create_table :numeric_data, :force => true do |t|
298
- t.decimal :bank_balance, :precision => 10, :scale => 2
299
- t.decimal :big_bank_balance, :precision => 15, :scale => 2
300
- t.decimal :world_population, :precision => 10, :scale => 0
301
- t.decimal :my_house_population, :precision => 2, :scale => 0
302
- t.decimal :decimal_number_with_default, :precision => 3, :scale => 2, :default => 2.78
303
- t.float :temperature
304
- end
305
-
306
- create_table :orders, :force => true do |t|
307
- t.string :name
308
- t.integer :billing_customer_id
309
- t.integer :shipping_customer_id
310
- end
311
-
312
- create_table :organizations, :force => true do |t|
313
- t.string :name
314
- end
315
-
316
- create_table :owners, :primary_key => :owner_id ,:force => true do |t|
317
- t.string :name
318
- t.column :updated_at, :datetime
319
- t.column :happy_at, :datetime
320
- end
321
-
322
-
323
- create_table :paint_colors, :force => true do |t|
324
- t.integer :non_poly_one_id
325
- end
326
-
327
- create_table :paint_textures, :force => true do |t|
328
- t.integer :non_poly_two_id
329
- end
330
-
331
- create_table :parrots, :force => true do |t|
332
- t.column :name, :string
333
- t.column :parrot_sti_class, :string
334
- t.column :killer_id, :integer
335
- t.column :created_at, :datetime
336
- t.column :created_on, :datetime
337
- t.column :updated_at, :datetime
338
- t.column :updated_on, :datetime
339
- end
340
-
341
- create_table :parrots_pirates, :id => false, :force => true do |t|
342
- t.column :parrot_id, :integer
343
- t.column :pirate_id, :integer
344
- end
345
-
346
- create_table :parrots_treasures, :id => false, :force => true do |t|
347
- t.column :parrot_id, :integer
348
- t.column :treasure_id, :integer
349
- end
350
-
351
- create_table :people, :force => true do |t|
352
- t.string :first_name, :null => false
353
- t.references :primary_contact
354
- t.string :gender, :limit => 1
355
- t.integer :lock_version, :null => false, :default => 0
356
- end
357
-
358
- create_table :pets, :primary_key => :pet_id ,:force => true do |t|
359
- t.string :name
360
- t.integer :owner_id, :integer
361
- end
362
-
363
- create_table :pirates, :force => true do |t|
364
- t.column :catchphrase, :string
365
- t.column :parrot_id, :integer
366
- t.column :created_on, :datetime
367
- t.column :updated_on, :datetime
368
- end
369
-
370
- create_table :polymorphic_designs, :force => true do |t|
371
- t.integer :designable_id
372
- t.string :designable_type
373
- end
374
-
375
- create_table :polymorphic_prices, :force => true do |t|
376
- t.integer :sellable_id
377
- t.string :sellable_type
378
- end
379
-
380
- create_table :posts, :force => true do |t|
381
- t.integer :author_id
382
- t.string :title, :null => false
383
- t.text :body, :null => false
384
- t.string :type
385
- t.integer :comments_count, :default => 0
386
- t.integer :taggings_count, :default => 0
387
- end
388
-
389
- create_table :price_estimates, :force => true do |t|
390
- t.string :estimate_of_type
391
- t.integer :estimate_of_id
392
- t.integer :price
393
- end
394
-
395
- create_table :projects, :force => true do |t|
396
- t.string :name
397
- t.string :type
398
- end
399
-
400
- create_table :readers, :force => true do |t|
401
- t.integer :post_id, :null => false
402
- t.integer :person_id, :null => false
403
- t.boolean :skimmer, :default => false
404
- end
405
-
406
- create_table :shape_expressions, :force => true do |t|
407
- t.string :paint_type
408
- t.integer :paint_id
409
- t.string :shape_type
410
- t.integer :shape_id
411
- end
412
-
413
- create_table :ships, :force => true do |t|
414
- t.string :name
415
- t.integer :pirate_id
416
- t.datetime :created_at
417
- t.datetime :created_on
418
- t.datetime :updated_at
419
- t.datetime :updated_on
420
- end
421
-
422
- create_table :ship_parts, :force => true do |t|
423
- t.string :name
424
- t.integer :ship_id
425
- end
426
-
427
- create_table :sponsors, :force => true do |t|
428
- t.integer :club_id
429
- t.integer :sponsorable_id
430
- t.string :sponsorable_type
431
- end
432
-
433
- create_table :subscribers, :force => true, :id => false do |t|
434
- t.string :nick, :null => false
435
- t.string :name
436
- end
437
- add_index :subscribers, :nick, :unique => true
438
-
439
- create_table :subscriptions, :force => true do |t|
440
- t.string :subscriber_id
441
- t.integer :book_id
442
- end
443
-
444
- create_table :tasks, :force => true do |t|
445
- t.datetime :starting
446
- t.datetime :ending
447
- end
448
-
449
- create_table :ties, :force => true
450
-
451
- create_table :topics, :force => true do |t|
452
- t.string :title
453
- t.string :author_name
454
- t.string :author_email_address
455
- t.datetime :written_on
456
- t.time :bonus_time
457
- t.date :last_read
458
- t.text :content
459
- t.boolean :approved, :default => true
460
- t.integer :replies_count, :default => 0
461
- t.integer :parent_id
462
- t.string :parent_title
463
- t.string :type
464
- t.string :group
465
- end
466
-
467
- create_table :taggings, :force => true do |t|
468
- t.column :tag_id, :integer
469
- t.column :super_tag_id, :integer
470
- t.column :taggable_type, :string
471
- t.column :taggable_id, :integer
472
- end
473
-
474
- create_table :tags, :force => true do |t|
475
- t.column :name, :string
476
- t.column :taggings_count, :integer, :default => 0
477
- end
478
-
479
- create_table :tees, :force => true
480
-
481
- create_table :toys, :primary_key => :toy_id ,:force => true do |t|
482
- t.string :name
483
- t.integer :pet_id, :integer
484
- end
485
-
486
- create_table :treasures, :force => true do |t|
487
- t.column :name, :string
488
- t.column :looter_id, :integer
489
- t.column :looter_type, :string
490
- end
491
-
492
- create_table :vertices, :force => true do |t|
493
- t.column :label, :string
494
- end
495
-
496
- create_table 'warehouse-things', :force => true do |t|
497
- t.integer :value
498
- end
499
-
500
- [:circles, :squares, :triangles, :non_poly_ones, :non_poly_twos].each do |t|
501
- create_table(t, :force => true) { }
502
- end
503
-
504
- create_table :guids, :force => true do |t|
505
- t.column :key, :string
506
- end
507
-
508
- create_table :integer_limits, :force => true do |t|
509
- t.integer :"c_int_without_limit"
510
- (1..8).each do |i|
511
- t.integer :"c_int_#{i}", :limit => i
512
- end
513
- end
514
-
515
- # NOTE - the following 4 tables are used by models that have :inverse_of options on the associations
516
- create_table :men, :force => true do |t|
517
- t.string :name
518
- end
519
-
520
- create_table :faces, :force => true do |t|
521
- t.string :description
522
- t.integer :man_id
523
- t.integer :polymorphic_man_id
524
- t.string :polymorphic_man_type
525
- end
526
-
527
- create_table :interests, :force => true do |t|
528
- t.string :topic
529
- t.integer :man_id
530
- t.integer :polymorphic_man_id
531
- t.string :polymorphic_man_type
532
- t.integer :zine_id
533
- end
534
-
535
- create_table :zines, :force => true do |t|
536
- t.string :title
537
- end
538
-
539
- except 'SQLite' do
540
- # fk_test_has_fk should be before fk_test_has_pk
541
- create_table :fk_test_has_fk, :force => true do |t|
542
- t.integer :fk_id, :null => false
543
- end
544
-
545
- create_table :fk_test_has_pk, :force => true do |t|
546
- end
547
-
548
- execute "ALTER TABLE fk_test_has_fk ADD CONSTRAINT fk_name FOREIGN KEY (#{quote_column_name 'fk_id'}) REFERENCES #{quote_table_name 'fk_test_has_pk'} (#{quote_column_name 'id'})"
549
- end
550
- end
@@ -1,6 +0,0 @@
1
- ActiveRecord::Schema.define do
2
-
3
- Course.connection.create_table :courses, :force => true do |t|
4
- t.column :name, :string, :null => false
5
- end
6
- end
@@ -1,25 +0,0 @@
1
- ActiveRecord::Schema.define do
2
- # For sqlite 3.1.0+, make a table with a autoincrement column
3
- if supports_autoincrement?
4
- create_table :table_with_autoincrement, :force => true do |t|
5
- t.column :name, :string
6
- end
7
- end
8
-
9
- execute "DROP TABLE fk_test_has_fk" rescue nil
10
- execute "DROP TABLE fk_test_has_pk" rescue nil
11
- execute <<_SQL
12
- CREATE TABLE 'fk_test_has_pk' (
13
- 'id' INTEGER NOT NULL PRIMARY KEY
14
- );
15
- _SQL
16
-
17
- execute <<_SQL
18
- CREATE TABLE 'fk_test_has_fk' (
19
- 'id' INTEGER NOT NULL PRIMARY KEY,
20
- 'fk_id' INTEGER NOT NULL,
21
-
22
- FOREIGN KEY ('fk_id') REFERENCES 'fk_test_has_pk'('id')
23
- );
24
- _SQL
25
- end