legacy_data 0.1.8 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +37 -1
- data/VERSION +1 -1
- data/examples/blog_migration.rb +26 -0
- data/examples/create_j2ee_petstore.sql +91 -0
- data/examples/delete_j2ee_petstore.sql +14 -0
- data/examples/drupal_6_14.sql +809 -0
- data/examples/generated/blog_mysql/comment.rb +11 -0
- data/examples/generated/blog_mysql/factories.rb +9 -0
- data/examples/generated/blog_mysql/post.rb +11 -0
- data/examples/generated/blog_mysql/tag.rb +11 -0
- data/{spec/functional/expected → examples/generated/blog_sqlite3}/comment.rb +3 -4
- data/examples/generated/blog_sqlite3/factories.rb +12 -0
- data/{spec/functional/expected → examples/generated/blog_sqlite3}/post.rb +3 -3
- data/examples/generated/blog_sqlite3/tag.rb +11 -0
- data/examples/generated/drupal_mysql/access.rb +12 -0
- data/examples/generated/drupal_mysql/action.rb +11 -0
- data/examples/generated/drupal_mysql/actions_aid.rb +11 -0
- data/examples/generated/drupal_mysql/authmap.rb +13 -0
- data/examples/generated/drupal_mysql/batch.rb +12 -0
- data/examples/generated/drupal_mysql/block.rb +13 -0
- data/examples/generated/drupal_mysql/blocks_role.rb +12 -0
- data/examples/generated/drupal_mysql/box.rb +13 -0
- data/examples/generated/drupal_mysql/cache.rb +12 -0
- data/examples/generated/drupal_mysql/cache_block.rb +12 -0
- data/examples/generated/drupal_mysql/cache_filter.rb +12 -0
- data/examples/generated/drupal_mysql/cache_form.rb +12 -0
- data/examples/generated/drupal_mysql/cache_menu.rb +12 -0
- data/examples/generated/drupal_mysql/cache_page.rb +12 -0
- data/examples/generated/drupal_mysql/cache_update.rb +12 -0
- data/examples/generated/drupal_mysql/comment.rb +12 -0
- data/examples/generated/drupal_mysql/factories.rb +370 -0
- data/examples/generated/drupal_mysql/filter.rb +13 -0
- data/examples/generated/drupal_mysql/filter_format.rb +13 -0
- data/examples/generated/drupal_mysql/flood.rb +12 -0
- data/examples/generated/drupal_mysql/history.rb +12 -0
- data/examples/generated/drupal_mysql/menu_custom.rb +11 -0
- data/examples/generated/drupal_mysql/menu_link.rb +12 -0
- data/examples/generated/drupal_mysql/menu_router.rb +12 -0
- data/examples/generated/drupal_mysql/node.rb +13 -0
- data/examples/generated/drupal_mysql/node_access.rb +12 -0
- data/examples/generated/drupal_mysql/node_comment_statistic.rb +12 -0
- data/examples/generated/drupal_mysql/node_counter.rb +12 -0
- data/examples/generated/drupal_mysql/node_revision.rb +12 -0
- data/examples/generated/drupal_mysql/node_type.rb +12 -0
- data/examples/generated/drupal_mysql/permission.rb +12 -0
- data/examples/generated/drupal_mysql/role.rb +12 -0
- data/examples/generated/drupal_mysql/session.rb +12 -0
- data/examples/generated/drupal_mysql/system.rb +12 -0
- data/examples/generated/drupal_mysql/term_data.rb +12 -0
- data/examples/generated/drupal_mysql/term_hierarchy.rb +12 -0
- data/examples/generated/drupal_mysql/term_node.rb +12 -0
- data/examples/generated/drupal_mysql/term_relation.rb +13 -0
- data/examples/generated/drupal_mysql/term_synonym.rb +12 -0
- data/examples/generated/drupal_mysql/uploaded_files.rb +12 -0
- data/examples/generated/drupal_mysql/url_alias.rb +12 -0
- data/examples/generated/drupal_mysql/user.rb +14 -0
- data/examples/generated/drupal_mysql/users_role.rb +12 -0
- data/examples/generated/drupal_mysql/variable.rb +11 -0
- data/examples/generated/drupal_mysql/vocabulary.rb +12 -0
- data/examples/generated/drupal_mysql/vocabulary_node_type.rb +12 -0
- data/examples/generated/drupal_mysql/watchdog.rb +12 -0
- data/examples/generated/j2ee_petstore_mysql/address.rb +11 -0
- data/examples/generated/j2ee_petstore_mysql/category.rb +11 -0
- data/examples/generated/j2ee_petstore_mysql/factories.rb +57 -0
- data/examples/generated/j2ee_petstore_mysql/id_gen.rb +12 -0
- data/examples/generated/j2ee_petstore_mysql/item.rb +12 -0
- data/examples/generated/j2ee_petstore_mysql/product.rb +11 -0
- data/examples/generated/j2ee_petstore_mysql/seller_contact_info.rb +11 -0
- data/examples/generated/j2ee_petstore_mysql/tag.rb +13 -0
- data/examples/generated/j2ee_petstore_mysql/tag_item.rb +13 -0
- data/examples/generated/j2ee_petstore_mysql/ziplocation.rb +11 -0
- data/examples/generated/j2ee_petstore_oracle/address.rb +11 -0
- data/examples/generated/j2ee_petstore_oracle/category.rb +11 -0
- data/examples/generated/j2ee_petstore_oracle/factories.rb +52 -0
- data/examples/generated/j2ee_petstore_oracle/id_gen.rb +12 -0
- data/examples/generated/j2ee_petstore_oracle/item.rb +15 -0
- data/examples/generated/j2ee_petstore_oracle/product.rb +12 -0
- data/examples/generated/j2ee_petstore_oracle/sellercontactinfo.rb +11 -0
- data/examples/generated/j2ee_petstore_oracle/tag.rb +13 -0
- data/examples/generated/j2ee_petstore_oracle/ziplocation.rb +11 -0
- data/examples/generated/j2ee_petstore_sqlite3/address.rb +12 -0
- data/examples/generated/j2ee_petstore_sqlite3/category.rb +12 -0
- data/examples/generated/j2ee_petstore_sqlite3/factories.rb +57 -0
- data/examples/generated/j2ee_petstore_sqlite3/id_gen.rb +13 -0
- data/examples/generated/j2ee_petstore_sqlite3/item.rb +13 -0
- data/examples/generated/j2ee_petstore_sqlite3/product.rb +12 -0
- data/examples/generated/j2ee_petstore_sqlite3/seller_contact_info.rb +12 -0
- data/examples/generated/j2ee_petstore_sqlite3/tag.rb +13 -0
- data/examples/generated/j2ee_petstore_sqlite3/tag_item.rb +14 -0
- data/examples/generated/j2ee_petstore_sqlite3/ziplocation.rb +11 -0
- data/generators/models_from_tables/models_from_tables_generator.rb +5 -36
- data/generators/models_from_tables/templates/model.rb +5 -39
- data/legacy_data.gemspec +187 -11
- data/lib/active_record/connection_adapters/oracleenhanced_adapter.rb +85 -0
- data/lib/legacy_data.rb +5 -2
- data/lib/legacy_data/schema.rb +10 -7
- data/lib/legacy_data/table_class_name_mapper.rb +1 -1
- data/lib/legacy_data/table_definition.rb +120 -5
- data/spec/expected/post.rb +3 -3
- data/spec/functional/blog_adapterspec.rb +45 -0
- data/spec/functional/database.yml +45 -0
- data/spec/functional/drupal_adapterspec.rb +54 -0
- data/spec/functional/functional_spec_helper.rb +24 -0
- data/spec/functional/j2ee_petstore_adapterspec.rb +57 -0
- data/spec/legacy_data/schema_spec.rb +7 -3
- data/spec/legacy_data/table_definition_spec.rb +101 -10
- data/spec/models_from_tables_generator_spec.rb +19 -7
- data/spec/spec_helper.rb +6 -18
- metadata +193 -10
- data/examples/j2ee_petstore.sql +0 -512
- data/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb +0 -61
- 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 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,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 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,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,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,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 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
|
+
|