Changeset 6145
- Timestamp:
- 11/28/06 13:42:34
- Files:
-
- trunk/example/Rakefile (modified) (1 diff)
- trunk/lib/jerbil/hibernate_task.rb (modified) (3 diffs)
- trunk/test/test_build.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/example/Rakefile
r6138 r6145 102 102 t.entities_yml = ENTITIES_YML 103 103 end 104 105 Jerbil::Hibernate::ExportSchemaTask.new(:export_schema_filtered) do |t| 106 t.schemafile = DB_SCHEMA 107 t.entities_yml = ENTITIES_YML 108 t.filter { |classname| classname =~ /^merbil\./ } 109 end 110 111 trunk/lib/jerbil/hibernate_task.rb
r6139 r6145 45 45 @dependencies = [] 46 46 @package = nil 47 @classfilter = nil 47 48 @schemafile = "schema.sql" 48 49 @entities_yml = "entities.yml" … … 60 61 raise 'no annotated entities found!' if entities.empty? 61 62 62 #puts "found #{entities.size} entities" 63 63 #puts "found #{entities.size} entities" 64 entities = entities.dup.select { |e| @classfilter.call(e) } if @classfilter 64 65 entity_classes = entities.map {|klass| Rjb::import(klass)} 65 66 … … 83 84 file schemafile => name 84 85 task name => entities_yml 85 end 86 end 87 88 # Filters all entities. Useful to only export schema for a subset of classes. 89 # ==Example 90 # Jerbil::Hibernate::ExportSchemaTask.new(:export_schema) do |t| 91 # t.filter { |classname| classname =~ /^foo/ } 92 # end 93 def filter(*args, &block) 94 @classfilter = block 95 end 86 96 end 87 97 trunk/test/test_build.rb
r6060 r6145 75 75 assert ok 76 76 assert File.exists?(DB_SCHEMA) 77 #make sure file is not empty 78 assert File.size(DB_SCHEMA) >= 200 77 79 end 78 80 end 81 82 def test_export_schema_filtered 83 run_rake_clean(:export_schema_filtered) do |ok,res| 84 assert ok 85 assert File.exists?(DB_SCHEMA) 86 #make sure file is empty 87 assert File.size(DB_SCHEMA) <= 150 88 end 89 end 90 79 91 80 92 def test_run_no_fork
