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.
- 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
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
module OracleEnhancedAdapterConstraintsMethods
|
|
2
|
-
|
|
3
|
-
def foreign_keys_for(table_name)
|
|
4
|
-
(owner, table_name) = @connection.describe(table_name)
|
|
5
|
-
|
|
6
|
-
# RSI: changed select from all_constraints to user_constraints - much faster in large data dictionaries
|
|
7
|
-
fks = select_rows(<<-SQL, 'Foreign Keys')
|
|
8
|
-
select parent_c.table_name, cc.column_name
|
|
9
|
-
from user_constraints c, user_constraints parent_c, user_cons_columns cc
|
|
10
|
-
where c.owner = '#{owner}'
|
|
11
|
-
and c.table_name = '#{table_name}'
|
|
12
|
-
and c.r_constraint_name = parent_c.constraint_name
|
|
13
|
-
and c.constraint_type = 'R'
|
|
14
|
-
and cc.owner = c.owner
|
|
15
|
-
and cc.constraint_name = c.constraint_name
|
|
16
|
-
SQL
|
|
17
|
-
end
|
|
18
|
-
def foreign_keys_of(table_name)
|
|
19
|
-
(owner, table_name) = @connection.describe(table_name)
|
|
20
|
-
|
|
21
|
-
# RSI: changed select from all_constraints to user_constraints - much faster in large data dictionaries
|
|
22
|
-
fks = select_rows(<<-SQL, 'Remote Foriegn Keys')
|
|
23
|
-
select c.table_name, cc.column_name, c.delete_rule
|
|
24
|
-
from user_constraints c, user_constraints parent_c, user_cons_columns cc
|
|
25
|
-
where c.owner = '#{owner}'
|
|
26
|
-
and parent_c.table_name = '#{table_name}'
|
|
27
|
-
and c.r_constraint_name = parent_c.constraint_name
|
|
28
|
-
and c.constraint_type = 'R'
|
|
29
|
-
and cc.owner = c.owner
|
|
30
|
-
and cc.constraint_name = c.constraint_name
|
|
31
|
-
SQL
|
|
32
|
-
fks.map do |row|
|
|
33
|
-
dependent = case row[2]
|
|
34
|
-
when 'CASCADE'
|
|
35
|
-
:destroy
|
|
36
|
-
when 'SET NULL'
|
|
37
|
-
:nullify
|
|
38
|
-
end
|
|
39
|
-
options = {:to_table => row[0].downcase, :foreign_key =>row[1].downcase.to_sym }
|
|
40
|
-
options[:dependent] = dependent unless dependent.nil?
|
|
41
|
-
options
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def constraints(table_name)
|
|
46
|
-
(owner, table_name) = @connection.describe(table_name)
|
|
47
|
-
|
|
48
|
-
# RSI: changed select from all_constraints to user_constraints - much faster in large data dictionaries
|
|
49
|
-
fks = select_rows(<<-SQL, 'User Contraints')
|
|
50
|
-
select c.constraint_name, c.search_condition
|
|
51
|
-
from user_constraints c
|
|
52
|
-
where c.owner = '#{owner}'
|
|
53
|
-
and c.table_name = '#{table_name}'
|
|
54
|
-
and c.constraint_type = 'C'
|
|
55
|
-
and c.generated = 'USER NAME'
|
|
56
|
-
and c.status = 'ENABLED'
|
|
57
|
-
SQL
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.send(:include, OracleEnhancedAdapterConstraintsMethods) if defined? ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/functional_spec_helper')
|
|
2
|
-
|
|
3
|
-
describe 'Models From Tables generator' do
|
|
4
|
-
before :all do
|
|
5
|
-
silence_warnings { RAILS_ROOT = File.expand_path(File.dirname(__FILE__) + '/../../output/functional') }
|
|
6
|
-
FileUtils.mkdir_p(RAILS_ROOT + '/app/models')
|
|
7
|
-
FileUtils.mkdir_p(RAILS_ROOT + '/spec')
|
|
8
|
-
|
|
9
|
-
LegacyData::Schema.stub!(:log)
|
|
10
|
-
end
|
|
11
|
-
after :all do
|
|
12
|
-
Object.send(:remove_const, :RAILS_ROOT)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it 'should generate a posts model' do
|
|
16
|
-
invoke_generator('models_from_tables', ["--table-name", "posts"], :create)
|
|
17
|
-
|
|
18
|
-
File.read(RAILS_ROOT + '/app/models/post.rb').should == File.read(File.expand_path(File.dirname(__FILE__) + '/expected/post.rb'))
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
it 'should generate all models in database' do
|
|
22
|
-
invoke_generator('models_from_tables', [], :create)
|
|
23
|
-
|
|
24
|
-
File.read(RAILS_ROOT + '/app/models/post.rb').should == File.read(File.expand_path(File.dirname(__FILE__) + '/expected/post.rb'))
|
|
25
|
-
File.read(RAILS_ROOT + '/app/models/comment.rb').should == File.read(File.expand_path(File.dirname(__FILE__) + '/expected/comment.rb'))
|
|
26
|
-
end
|
|
27
|
-
end
|