legacy_data 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. data/Rakefile +37 -1
  2. data/VERSION +1 -1
  3. data/examples/blog_migration.rb +26 -0
  4. data/examples/create_j2ee_petstore.sql +91 -0
  5. data/examples/delete_j2ee_petstore.sql +14 -0
  6. data/examples/drupal_6_14.sql +809 -0
  7. data/examples/generated/blog_mysql/comment.rb +11 -0
  8. data/examples/generated/blog_mysql/factories.rb +9 -0
  9. data/examples/generated/blog_mysql/post.rb +11 -0
  10. data/examples/generated/blog_mysql/tag.rb +11 -0
  11. data/{spec/functional/expected → examples/generated/blog_sqlite3}/comment.rb +3 -4
  12. data/examples/generated/blog_sqlite3/factories.rb +12 -0
  13. data/{spec/functional/expected → examples/generated/blog_sqlite3}/post.rb +3 -3
  14. data/examples/generated/blog_sqlite3/tag.rb +11 -0
  15. data/examples/generated/drupal_mysql/access.rb +12 -0
  16. data/examples/generated/drupal_mysql/action.rb +11 -0
  17. data/examples/generated/drupal_mysql/actions_aid.rb +11 -0
  18. data/examples/generated/drupal_mysql/authmap.rb +13 -0
  19. data/examples/generated/drupal_mysql/batch.rb +12 -0
  20. data/examples/generated/drupal_mysql/block.rb +13 -0
  21. data/examples/generated/drupal_mysql/blocks_role.rb +12 -0
  22. data/examples/generated/drupal_mysql/box.rb +13 -0
  23. data/examples/generated/drupal_mysql/cache.rb +12 -0
  24. data/examples/generated/drupal_mysql/cache_block.rb +12 -0
  25. data/examples/generated/drupal_mysql/cache_filter.rb +12 -0
  26. data/examples/generated/drupal_mysql/cache_form.rb +12 -0
  27. data/examples/generated/drupal_mysql/cache_menu.rb +12 -0
  28. data/examples/generated/drupal_mysql/cache_page.rb +12 -0
  29. data/examples/generated/drupal_mysql/cache_update.rb +12 -0
  30. data/examples/generated/drupal_mysql/comment.rb +12 -0
  31. data/examples/generated/drupal_mysql/factories.rb +370 -0
  32. data/examples/generated/drupal_mysql/filter.rb +13 -0
  33. data/examples/generated/drupal_mysql/filter_format.rb +13 -0
  34. data/examples/generated/drupal_mysql/flood.rb +12 -0
  35. data/examples/generated/drupal_mysql/history.rb +12 -0
  36. data/examples/generated/drupal_mysql/menu_custom.rb +11 -0
  37. data/examples/generated/drupal_mysql/menu_link.rb +12 -0
  38. data/examples/generated/drupal_mysql/menu_router.rb +12 -0
  39. data/examples/generated/drupal_mysql/node.rb +13 -0
  40. data/examples/generated/drupal_mysql/node_access.rb +12 -0
  41. data/examples/generated/drupal_mysql/node_comment_statistic.rb +12 -0
  42. data/examples/generated/drupal_mysql/node_counter.rb +12 -0
  43. data/examples/generated/drupal_mysql/node_revision.rb +12 -0
  44. data/examples/generated/drupal_mysql/node_type.rb +12 -0
  45. data/examples/generated/drupal_mysql/permission.rb +12 -0
  46. data/examples/generated/drupal_mysql/role.rb +12 -0
  47. data/examples/generated/drupal_mysql/session.rb +12 -0
  48. data/examples/generated/drupal_mysql/system.rb +12 -0
  49. data/examples/generated/drupal_mysql/term_data.rb +12 -0
  50. data/examples/generated/drupal_mysql/term_hierarchy.rb +12 -0
  51. data/examples/generated/drupal_mysql/term_node.rb +12 -0
  52. data/examples/generated/drupal_mysql/term_relation.rb +13 -0
  53. data/examples/generated/drupal_mysql/term_synonym.rb +12 -0
  54. data/examples/generated/drupal_mysql/uploaded_files.rb +12 -0
  55. data/examples/generated/drupal_mysql/url_alias.rb +12 -0
  56. data/examples/generated/drupal_mysql/user.rb +14 -0
  57. data/examples/generated/drupal_mysql/users_role.rb +12 -0
  58. data/examples/generated/drupal_mysql/variable.rb +11 -0
  59. data/examples/generated/drupal_mysql/vocabulary.rb +12 -0
  60. data/examples/generated/drupal_mysql/vocabulary_node_type.rb +12 -0
  61. data/examples/generated/drupal_mysql/watchdog.rb +12 -0
  62. data/examples/generated/j2ee_petstore_mysql/address.rb +11 -0
  63. data/examples/generated/j2ee_petstore_mysql/category.rb +11 -0
  64. data/examples/generated/j2ee_petstore_mysql/factories.rb +57 -0
  65. data/examples/generated/j2ee_petstore_mysql/id_gen.rb +12 -0
  66. data/examples/generated/j2ee_petstore_mysql/item.rb +12 -0
  67. data/examples/generated/j2ee_petstore_mysql/product.rb +11 -0
  68. data/examples/generated/j2ee_petstore_mysql/seller_contact_info.rb +11 -0
  69. data/examples/generated/j2ee_petstore_mysql/tag.rb +13 -0
  70. data/examples/generated/j2ee_petstore_mysql/tag_item.rb +13 -0
  71. data/examples/generated/j2ee_petstore_mysql/ziplocation.rb +11 -0
  72. data/examples/generated/j2ee_petstore_oracle/address.rb +11 -0
  73. data/examples/generated/j2ee_petstore_oracle/category.rb +11 -0
  74. data/examples/generated/j2ee_petstore_oracle/factories.rb +52 -0
  75. data/examples/generated/j2ee_petstore_oracle/id_gen.rb +12 -0
  76. data/examples/generated/j2ee_petstore_oracle/item.rb +15 -0
  77. data/examples/generated/j2ee_petstore_oracle/product.rb +12 -0
  78. data/examples/generated/j2ee_petstore_oracle/sellercontactinfo.rb +11 -0
  79. data/examples/generated/j2ee_petstore_oracle/tag.rb +13 -0
  80. data/examples/generated/j2ee_petstore_oracle/ziplocation.rb +11 -0
  81. data/examples/generated/j2ee_petstore_sqlite3/address.rb +12 -0
  82. data/examples/generated/j2ee_petstore_sqlite3/category.rb +12 -0
  83. data/examples/generated/j2ee_petstore_sqlite3/factories.rb +57 -0
  84. data/examples/generated/j2ee_petstore_sqlite3/id_gen.rb +13 -0
  85. data/examples/generated/j2ee_petstore_sqlite3/item.rb +13 -0
  86. data/examples/generated/j2ee_petstore_sqlite3/product.rb +12 -0
  87. data/examples/generated/j2ee_petstore_sqlite3/seller_contact_info.rb +12 -0
  88. data/examples/generated/j2ee_petstore_sqlite3/tag.rb +13 -0
  89. data/examples/generated/j2ee_petstore_sqlite3/tag_item.rb +14 -0
  90. data/examples/generated/j2ee_petstore_sqlite3/ziplocation.rb +11 -0
  91. data/generators/models_from_tables/models_from_tables_generator.rb +5 -36
  92. data/generators/models_from_tables/templates/model.rb +5 -39
  93. data/legacy_data.gemspec +187 -11
  94. data/lib/active_record/connection_adapters/oracleenhanced_adapter.rb +85 -0
  95. data/lib/legacy_data.rb +5 -2
  96. data/lib/legacy_data/schema.rb +10 -7
  97. data/lib/legacy_data/table_class_name_mapper.rb +1 -1
  98. data/lib/legacy_data/table_definition.rb +120 -5
  99. data/spec/expected/post.rb +3 -3
  100. data/spec/functional/blog_adapterspec.rb +45 -0
  101. data/spec/functional/database.yml +45 -0
  102. data/spec/functional/drupal_adapterspec.rb +54 -0
  103. data/spec/functional/functional_spec_helper.rb +24 -0
  104. data/spec/functional/j2ee_petstore_adapterspec.rb +57 -0
  105. data/spec/legacy_data/schema_spec.rb +7 -3
  106. data/spec/legacy_data/table_definition_spec.rb +101 -10
  107. data/spec/models_from_tables_generator_spec.rb +19 -7
  108. data/spec/spec_helper.rb +6 -18
  109. metadata +193 -10
  110. data/examples/j2ee_petstore.sql +0 -512
  111. data/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb +0 -61
  112. data/spec/functional/models_from_tables_spec.rb +0 -27
@@ -0,0 +1,57 @@
1
+ Factory.define :ziplocation do |z|
2
+ z.city 'some string'
3
+ z.state 'some string'
4
+ end
5
+
6
+ Factory.define :id_gen do |i|
7
+ i.gen_value 7
8
+ end
9
+
10
+ Factory.define :category do |c|
11
+ c.name 'some string'
12
+ c.description 'some string'
13
+ end
14
+
15
+ Factory.define :tag_item do |t|
16
+ t.tagid 7
17
+ t.itemid 'some string'
18
+ end
19
+
20
+ Factory.define :tag do |t|
21
+ t.tag 'some string'
22
+ t.refcount 7
23
+ end
24
+
25
+ Factory.define :product do |p|
26
+ p.categoryid 'some string'
27
+ p.name 'some string'
28
+ p.description 'some string'
29
+ end
30
+
31
+ Factory.define :item do |i|
32
+ i.productid 'some string'
33
+ i.name 'some string'
34
+ i.description 'some string'
35
+ i.price 12.3
36
+ i.address_addressid 'some string'
37
+ i.contactinfo_contactinfoid 'some string'
38
+ i.totalscore 7
39
+ i.numberofvotes 7
40
+ i.disabled 7
41
+ end
42
+
43
+ Factory.define :seller_contact_info do |s|
44
+ s.lastname 'some string'
45
+ s.firstname 'some string'
46
+ s.email 'some string'
47
+ end
48
+
49
+ Factory.define :address do |a|
50
+ a.street1 'some string'
51
+ a.city 'some string'
52
+ a.state 'some string'
53
+ a.zip 'some string'
54
+ a.latitude 12.3
55
+ a.longitude 12.3
56
+ end
57
+
@@ -0,0 +1,12 @@
1
+ class IdGen < ActiveRecord::Base
2
+ set_table_name :id_gen
3
+ set_primary_key :gen_key
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ validates_numericality_of :gen_value
10
+ validates_presence_of :gen_value
11
+ end
12
+
@@ -0,0 +1,12 @@
1
+ class Item < ActiveRecord::Base
2
+ set_table_name :item
3
+ set_primary_key :itemid
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ validates_numericality_of :totalscore, :numberofvotes, :disabled
10
+ validates_presence_of :productid, :name, :description, :price, :address_addressid, :contactinfo_contactinfoid, :totalscore, :numberofvotes, :disabled
11
+ end
12
+
@@ -0,0 +1,11 @@
1
+ class Product < ActiveRecord::Base
2
+ set_table_name :product
3
+ set_primary_key :productid
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ validates_presence_of :categoryid, :name, :description
10
+ end
11
+
@@ -0,0 +1,11 @@
1
+ class SellerContactInfo < ActiveRecord::Base
2
+ set_table_name :sellercontactinfo
3
+ set_primary_key :contactinfoid
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ validates_presence_of :lastname, :firstname, :email
10
+ end
11
+
@@ -0,0 +1,13 @@
1
+ class Tag < ActiveRecord::Base
2
+ set_table_name :tag
3
+ set_primary_key :tagid
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ validates_numericality_of :refcount
10
+ validates_presence_of :tag, :refcount
11
+ validates_uniqueness_of :tag
12
+ end
13
+
@@ -0,0 +1,13 @@
1
+ class TagItem < ActiveRecord::Base
2
+ set_table_name :tag_item
3
+
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ #validates_uniqueness_of_multiple_column_constraint ["tagid", "itemid"]
10
+ validates_presence_of :tagid, :itemid
11
+ validates_numericality_of :tagid
12
+ end
13
+
@@ -0,0 +1,11 @@
1
+ class Ziplocation < ActiveRecord::Base
2
+ set_table_name :ziplocation
3
+ set_primary_key :zipcode
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ validates_presence_of :city, :state
10
+ end
11
+
@@ -0,0 +1,11 @@
1
+ class Address < ActiveRecord::Base
2
+ set_table_name :address
3
+ set_primary_key :addressid
4
+
5
+ # Relationships
6
+ has_many :items, :foreign_key => :address_addressid
7
+
8
+ # Constraints
9
+ validates_presence_of :street1, :city, :state, :zip, :latitude, :longitude
10
+ end
11
+
@@ -0,0 +1,11 @@
1
+ class Category < ActiveRecord::Base
2
+ set_table_name :category
3
+ set_primary_key :categoryid
4
+
5
+ # Relationships
6
+ has_many :products, :foreign_key => :categoryid
7
+
8
+ # Constraints
9
+ validates_presence_of :name, :description
10
+ end
11
+
@@ -0,0 +1,52 @@
1
+ Factory.define :ziplocation do |z|
2
+ z.city 'some string'
3
+ z.state 'some string'
4
+ end
5
+
6
+ Factory.define :id_gen do |i|
7
+ i.gen_value 7
8
+ end
9
+
10
+ Factory.define :category do |c|
11
+ c.name 'some string'
12
+ c.description 'some string'
13
+ end
14
+
15
+ Factory.define :tag do |t|
16
+ t.tag 'some string'
17
+ t.refcount 7
18
+ end
19
+
20
+ Factory.define :sellercontactinfo do |s|
21
+ s.lastname 'some string'
22
+ s.firstname 'some string'
23
+ s.email 'some string'
24
+ end
25
+
26
+ Factory.define :product do |p|
27
+ p.categoryid 'some string'
28
+ p.name 'some string'
29
+ p.description 'some string'
30
+ end
31
+
32
+ Factory.define :item do |i|
33
+ i.productid 'some string'
34
+ i.name 'some string'
35
+ i.description 'some string'
36
+ i.price 12.3
37
+ i.address_addressid 'some string'
38
+ i.contactinfo_contactinfoid 'some string'
39
+ i.totalscore 7
40
+ i.numberofvotes 7
41
+ i.disabled 7
42
+ end
43
+
44
+ Factory.define :address do |a|
45
+ a.street1 'some string'
46
+ a.city 'some string'
47
+ a.state 'some string'
48
+ a.zip 'some string'
49
+ a.latitude 12.3
50
+ a.longitude 12.3
51
+ end
52
+
@@ -0,0 +1,12 @@
1
+ class IdGen < ActiveRecord::Base
2
+ set_table_name :id_gen
3
+ set_primary_key :gen_key
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ validates_numericality_of :gen_value
10
+ validates_presence_of :gen_value
11
+ end
12
+
@@ -0,0 +1,15 @@
1
+ class Item < ActiveRecord::Base
2
+ set_table_name :item
3
+ set_primary_key :itemid
4
+
5
+ # Relationships
6
+ belongs_to :address, :foreign_key => :address_addressid
7
+ belongs_to :product, :foreign_key => :productid
8
+ belongs_to :sellercontactinfo, :foreign_key => :contactinfo_contactinfoid
9
+ has_and_belongs_to_many :tags, :association_foreign_key => :tagid, :foreign_key => :itemid, :join_table => :tag_item
10
+
11
+ # Constraints
12
+ validates_numericality_of :totalscore, :numberofvotes, :disabled
13
+ validates_presence_of :productid, :name, :description, :price, :address_addressid, :contactinfo_contactinfoid, :totalscore, :numberofvotes, :disabled
14
+ end
15
+
@@ -0,0 +1,12 @@
1
+ class Product < ActiveRecord::Base
2
+ set_table_name :product
3
+ set_primary_key :productid
4
+
5
+ # Relationships
6
+ has_many :items, :foreign_key => :productid
7
+ belongs_to :category, :foreign_key => :categoryid
8
+
9
+ # Constraints
10
+ validates_presence_of :categoryid, :name, :description
11
+ end
12
+
@@ -0,0 +1,11 @@
1
+ class Sellercontactinfo < ActiveRecord::Base
2
+ set_table_name :sellercontactinfo
3
+ set_primary_key :contactinfoid
4
+
5
+ # Relationships
6
+ has_many :items, :foreign_key => :contactinfo_contactinfoid
7
+
8
+ # Constraints
9
+ validates_presence_of :lastname, :firstname, :email
10
+ end
11
+
@@ -0,0 +1,13 @@
1
+ class Tag < ActiveRecord::Base
2
+ set_table_name :tag
3
+ set_primary_key :tagid
4
+
5
+ # Relationships
6
+ has_and_belongs_to_many :items, :association_foreign_key => :itemid, :foreign_key => :tagid, :join_table => :tag_item
7
+
8
+ # Constraints
9
+ validates_numericality_of :refcount
10
+ validates_presence_of :tag, :refcount
11
+ validates_uniqueness_of :tag
12
+ end
13
+
@@ -0,0 +1,11 @@
1
+ class Ziplocation < ActiveRecord::Base
2
+ set_table_name :ziplocation
3
+ set_primary_key :zipcode
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ validates_presence_of :city, :state
10
+ end
11
+
@@ -0,0 +1,12 @@
1
+ class Address < ActiveRecord::Base
2
+ set_table_name :address
3
+ set_primary_key :addressid
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ validates_presence_of :street1, :city, :state, :zip, :latitude, :longitude
10
+ validates_uniqueness_of :addressid
11
+ end
12
+
@@ -0,0 +1,12 @@
1
+ class Category < ActiveRecord::Base
2
+ set_table_name :category
3
+ set_primary_key :categoryid
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ validates_presence_of :name, :description
10
+ validates_uniqueness_of :categoryid
11
+ end
12
+
@@ -0,0 +1,57 @@
1
+ Factory.define :ziplocation do |z|
2
+ z.city 'some string'
3
+ z.state 'some string'
4
+ end
5
+
6
+ Factory.define :id_gen do |i|
7
+ i.gen_value 7
8
+ end
9
+
10
+ Factory.define :category do |c|
11
+ c.name 'some string'
12
+ c.description 'some string'
13
+ end
14
+
15
+ Factory.define :tag_item do |t|
16
+ t.tagid 7
17
+ t.itemid 'some string'
18
+ end
19
+
20
+ Factory.define :tag do |t|
21
+ t.tag 'some string'
22
+ t.refcount 7
23
+ end
24
+
25
+ Factory.define :product do |p|
26
+ p.categoryid 'some string'
27
+ p.name 'some string'
28
+ p.description 'some string'
29
+ end
30
+
31
+ Factory.define :item do |i|
32
+ i.productid 'some string'
33
+ i.name 'some string'
34
+ i.description 'some string'
35
+ i.price 12.3
36
+ i.address_addressid 'some string'
37
+ i.contactinfo_contactinfoid 'some string'
38
+ i.totalscore 7
39
+ i.numberofvotes 7
40
+ i.disabled 7
41
+ end
42
+
43
+ Factory.define :seller_contact_info do |s|
44
+ s.lastname 'some string'
45
+ s.firstname 'some string'
46
+ s.email 'some string'
47
+ end
48
+
49
+ Factory.define :address do |a|
50
+ a.street1 'some string'
51
+ a.city 'some string'
52
+ a.state 'some string'
53
+ a.zip 'some string'
54
+ a.latitude 12.3
55
+ a.longitude 12.3
56
+ end
57
+
@@ -0,0 +1,13 @@
1
+ class IdGen < ActiveRecord::Base
2
+ set_table_name :id_gen
3
+ set_primary_key :gen_key
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ validates_numericality_of :gen_value
10
+ validates_presence_of :gen_value
11
+ validates_uniqueness_of :gen_key
12
+ end
13
+
@@ -0,0 +1,13 @@
1
+ class Item < ActiveRecord::Base
2
+ set_table_name :item
3
+ set_primary_key :itemid
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ validates_numericality_of :totalscore, :numberofvotes, :disabled
10
+ validates_presence_of :productid, :name, :description, :price, :address_addressid, :contactinfo_contactinfoid, :totalscore, :numberofvotes, :disabled
11
+ validates_uniqueness_of :itemid
12
+ end
13
+
@@ -0,0 +1,12 @@
1
+ class Product < ActiveRecord::Base
2
+ set_table_name :product
3
+ set_primary_key :productid
4
+
5
+ # Relationships
6
+
7
+
8
+ # Constraints
9
+ validates_presence_of :categoryid, :name, :description
10
+ validates_uniqueness_of :productid
11
+ end
12
+