kwatable 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/COPYING +340 -0
- data/ChangeLog.txt +27 -0
- data/README.txt +81 -0
- data/bin/kwatable +20 -0
- data/examples/ex1/Makefile +34 -0
- data/examples/ex1/example1.yaml +85 -0
- data/examples/ex2/Makefile +34 -0
- data/examples/ex2/example2.yaml +94 -0
- data/kwatable.gemspec +48 -0
- data/lib/kwatable.rb +31 -0
- data/lib/kwatable/error-msg.rb +37 -0
- data/lib/kwatable/kwatable.schema.yaml +133 -0
- data/lib/kwatable/main-program.rb +197 -0
- data/lib/kwatable/manufactory.rb +213 -0
- data/lib/kwatable/templates/ddl-mysql.eruby +169 -0
- data/lib/kwatable/templates/ddl-postgresql.eruby +153 -0
- data/lib/kwatable/templates/defaults.yaml +87 -0
- data/lib/kwatable/templates/dto-java.eruby +204 -0
- data/lib/kwatable/templates/dto-ruby.eruby +180 -0
- data/setup.rb +1331 -0
- data/test/assert-diff.rb +44 -0
- data/test/test.rb +202 -0
- data/test/test1/test1.ddl-mysql.expected +22 -0
- data/test/test1/test1.ddl-postgresql.expected +22 -0
- data/test/test1/test1.dto-java.Group.expected +32 -0
- data/test/test1/test1.dto-java.User.expected +59 -0
- data/test/test1/test1.dto-ruby.Group.expected +21 -0
- data/test/test1/test1.dto-ruby.User.expected +36 -0
- data/test/test1/test1.yaml +85 -0
- data/test/test2/test2.ddl-mysql.expected +49 -0
- data/test/test2/test2.ddl-postgresql.expected +49 -0
- data/test/test2/test2.dto-java.Address.expected +42 -0
- data/test/test2/test2.dto-java.Customer.expected +49 -0
- data/test/test2/test2.dto-java.Item.expected +37 -0
- data/test/test2/test2.dto-java.SalesOrder.expected +50 -0
- data/test/test2/test2.dto-java.SalesOrderLine.expected +56 -0
- data/test/test2/test2.dto-ruby.Address.expected +25 -0
- data/test/test2/test2.dto-ruby.Customer.expected +32 -0
- data/test/test2/test2.dto-ruby.Item.expected +23 -0
- data/test/test2/test2.dto-ruby.SalesOrder.expected +32 -0
- data/test/test2/test2.dto-ruby.SalesOrderLine.expected +39 -0
- data/test/test2/test2.yaml +94 -0
- metadata +91 -0
@@ -0,0 +1,85 @@
|
|
1
|
+
##
|
2
|
+
## example data file for kwatable
|
3
|
+
##
|
4
|
+
## copyright(c) 2005 kuwata-lab.com all rights reserved.
|
5
|
+
## $Release: 0.0.1 $
|
6
|
+
## $Rev$
|
7
|
+
##
|
8
|
+
|
9
|
+
columns:
|
10
|
+
- name: id
|
11
|
+
type: integer
|
12
|
+
primary-key: yes
|
13
|
+
serial: yes
|
14
|
+
|
15
|
+
- name: name
|
16
|
+
type: string
|
17
|
+
not-null: yes
|
18
|
+
width: 63
|
19
|
+
|
20
|
+
- name: desc
|
21
|
+
type: string
|
22
|
+
|
23
|
+
- name: email
|
24
|
+
type: string
|
25
|
+
width: 63
|
26
|
+
|
27
|
+
- name: status
|
28
|
+
type: string
|
29
|
+
width: 15
|
30
|
+
|
31
|
+
- name: username
|
32
|
+
type: string
|
33
|
+
width: 31
|
34
|
+
|
35
|
+
- name: password
|
36
|
+
type: string
|
37
|
+
width: 31
|
38
|
+
|
39
|
+
- name: memo
|
40
|
+
type: text
|
41
|
+
|
42
|
+
- name: text
|
43
|
+
type: text
|
44
|
+
|
45
|
+
- name: birth
|
46
|
+
type: date
|
47
|
+
|
48
|
+
- name: age
|
49
|
+
type: integer
|
50
|
+
|
51
|
+
- name: last_update
|
52
|
+
type: timestamp
|
53
|
+
|
54
|
+
- name: gender
|
55
|
+
type: string
|
56
|
+
values:
|
57
|
+
- M
|
58
|
+
- F
|
59
|
+
|
60
|
+
tables:
|
61
|
+
- name: groups
|
62
|
+
class: Group
|
63
|
+
desc: Group master table
|
64
|
+
columns:
|
65
|
+
- name: id
|
66
|
+
- name: name
|
67
|
+
- name: desc
|
68
|
+
|
69
|
+
- name: users
|
70
|
+
class: User
|
71
|
+
desc: User master table
|
72
|
+
columns:
|
73
|
+
- name: id
|
74
|
+
- name: name
|
75
|
+
- name: desc
|
76
|
+
- name: email
|
77
|
+
- name: group_id
|
78
|
+
ref: groups.id
|
79
|
+
- name: account
|
80
|
+
type: string
|
81
|
+
width: 31
|
82
|
+
not-null: yes
|
83
|
+
- name: password
|
84
|
+
not-null: yes
|
85
|
+
|
@@ -0,0 +1,49 @@
|
|
1
|
+
----------------------------------------------------------------------
|
2
|
+
-- DDL for MySQL
|
3
|
+
-- generated by kwatable with template 'ddl-mysql.eruby'
|
4
|
+
----------------------------------------------------------------------
|
5
|
+
|
6
|
+
-- Address master table
|
7
|
+
create table addresses (
|
8
|
+
id integer auto_increment primary key,
|
9
|
+
zipcode varchar(8) ,
|
10
|
+
addr1 varchar(255) ,
|
11
|
+
addr2 varchar(255) ,
|
12
|
+
addr3 varchar(255)
|
13
|
+
);
|
14
|
+
|
15
|
+
-- Customer master table
|
16
|
+
create table customers (
|
17
|
+
id integer auto_increment primary key,
|
18
|
+
name varchar(255) not null,
|
19
|
+
tel varchar(255) ,
|
20
|
+
email varchar(255) ,
|
21
|
+
address_id integer not null -- references addresses.id
|
22
|
+
);
|
23
|
+
|
24
|
+
-- Item master table
|
25
|
+
create table items (
|
26
|
+
id integer auto_increment primary key,
|
27
|
+
name varchar(255) not null,
|
28
|
+
`desc` varchar(255) ,
|
29
|
+
price decimal not null
|
30
|
+
);
|
31
|
+
|
32
|
+
-- Sales order master table
|
33
|
+
create table sales_orders (
|
34
|
+
id integer auto_increment primary key,
|
35
|
+
customer_id integer not null, -- references customers.id
|
36
|
+
ordered_date date not null,
|
37
|
+
delivery_date date ,
|
38
|
+
amount decimal
|
39
|
+
);
|
40
|
+
|
41
|
+
-- Sales Order detail lines
|
42
|
+
create table sales_order_lines (
|
43
|
+
num integer not null,
|
44
|
+
order_id integer not null, -- references sales_orders.id
|
45
|
+
item_id integer not null, -- references items.id
|
46
|
+
price decimal not null,
|
47
|
+
quantity integer not null
|
48
|
+
, primary key (order_id, item_id)
|
49
|
+
);
|
@@ -0,0 +1,49 @@
|
|
1
|
+
----------------------------------------------------------------------
|
2
|
+
-- DDL for PostgreSQL
|
3
|
+
-- generated by kwatable with template 'ddl-postgresql.eruby'
|
4
|
+
----------------------------------------------------------------------
|
5
|
+
|
6
|
+
-- Address master table
|
7
|
+
create table addresses (
|
8
|
+
id serial primary key,
|
9
|
+
zipcode varchar(8) ,
|
10
|
+
addr1 varchar(255) ,
|
11
|
+
addr2 varchar(255) ,
|
12
|
+
addr3 varchar(255)
|
13
|
+
);
|
14
|
+
|
15
|
+
-- Customer master table
|
16
|
+
create table customers (
|
17
|
+
id serial primary key,
|
18
|
+
name varchar(255) not null,
|
19
|
+
tel varchar(255) ,
|
20
|
+
email varchar(255) ,
|
21
|
+
address_id integer not null references addresses(id)
|
22
|
+
);
|
23
|
+
|
24
|
+
-- Item master table
|
25
|
+
create table items (
|
26
|
+
id serial primary key,
|
27
|
+
name varchar(255) not null,
|
28
|
+
"desc" varchar(255) ,
|
29
|
+
price decimal not null
|
30
|
+
);
|
31
|
+
|
32
|
+
-- Sales order master table
|
33
|
+
create table sales_orders (
|
34
|
+
id serial primary key,
|
35
|
+
customer_id integer not null references customers(id),
|
36
|
+
ordered_date date not null,
|
37
|
+
delivery_date date ,
|
38
|
+
amount decimal
|
39
|
+
);
|
40
|
+
|
41
|
+
-- Sales Order detail lines
|
42
|
+
create table sales_order_lines (
|
43
|
+
num integer not null,
|
44
|
+
order_id integer not null references sales_orders(id),
|
45
|
+
item_id integer not null references items(id),
|
46
|
+
price decimal not null,
|
47
|
+
quantity integer not null
|
48
|
+
, primary key (order_id, item_id)
|
49
|
+
);
|
@@ -0,0 +1,42 @@
|
|
1
|
+
/*
|
2
|
+
* DTO for Java
|
3
|
+
* generated by kwatable with template 'dto-java.eruby'
|
4
|
+
*/
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Address master table
|
8
|
+
*/
|
9
|
+
public class Address implements java.io.Serializable {
|
10
|
+
|
11
|
+
private int id; /* */
|
12
|
+
private String zipcode; /* */
|
13
|
+
private String addr1; /* */
|
14
|
+
private String addr2; /* */
|
15
|
+
private String addr3; /* */
|
16
|
+
|
17
|
+
public Address(int id, String zipcode, String addr1, String addr2, String addr3) {
|
18
|
+
this.id = id;
|
19
|
+
this.zipcode = zipcode;
|
20
|
+
this.addr1 = addr1;
|
21
|
+
this.addr2 = addr2;
|
22
|
+
this.addr3 = addr3;
|
23
|
+
}
|
24
|
+
|
25
|
+
public int getId() { return id }
|
26
|
+
public void setId(int id) { this.id = id; }
|
27
|
+
|
28
|
+
public String getZipcode() { return zipcode }
|
29
|
+
public void setZipcode(String zipcode) { this.zipcode = zipcode; }
|
30
|
+
|
31
|
+
public String getAddr1() { return addr1 }
|
32
|
+
public void setAddr1(String addr1) { this.addr1 = addr1; }
|
33
|
+
|
34
|
+
public String getAddr2() { return addr2 }
|
35
|
+
public void setAddr2(String addr2) { this.addr2 = addr2; }
|
36
|
+
|
37
|
+
public String getAddr3() { return addr3 }
|
38
|
+
public void setAddr3(String addr3) { this.addr3 = addr3; }
|
39
|
+
|
40
|
+
// -----------
|
41
|
+
|
42
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
/*
|
2
|
+
* DTO for Java
|
3
|
+
* generated by kwatable with template 'dto-java.eruby'
|
4
|
+
*/
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Customer master table
|
8
|
+
*/
|
9
|
+
public class Customer implements java.io.Serializable {
|
10
|
+
|
11
|
+
private int id; /* */
|
12
|
+
private String name; /* */
|
13
|
+
private String tel; /* */
|
14
|
+
private String email; /* */
|
15
|
+
private int address_id; /* */
|
16
|
+
|
17
|
+
public Customer(int id, String name, String tel, String email, int address_id) {
|
18
|
+
this.id = id;
|
19
|
+
this.name = name;
|
20
|
+
this.tel = tel;
|
21
|
+
this.email = email;
|
22
|
+
this.address_id = address_id;
|
23
|
+
}
|
24
|
+
|
25
|
+
public int getId() { return id }
|
26
|
+
public void setId(int id) { this.id = id; }
|
27
|
+
|
28
|
+
public String getName() { return name }
|
29
|
+
public void setName(String name) { this.name = name; }
|
30
|
+
|
31
|
+
public String getTel() { return tel }
|
32
|
+
public void setTel(String tel) { this.tel = tel; }
|
33
|
+
|
34
|
+
public String getEmail() { return email }
|
35
|
+
public void setEmail(String email) { this.email = email; }
|
36
|
+
|
37
|
+
public int getAddressId() { return address_id }
|
38
|
+
public void setAddressId(int address_id) { this.address_id = address_id; }
|
39
|
+
|
40
|
+
// -----------
|
41
|
+
|
42
|
+
private Address address;
|
43
|
+
public Address getAddress() { return address; }
|
44
|
+
public void setAddress(Address address) {
|
45
|
+
this.address = address;
|
46
|
+
this.address_id = address.getId();
|
47
|
+
}
|
48
|
+
|
49
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
/*
|
2
|
+
* DTO for Java
|
3
|
+
* generated by kwatable with template 'dto-java.eruby'
|
4
|
+
*/
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Item master table
|
8
|
+
*/
|
9
|
+
public class Item implements java.io.Serializable {
|
10
|
+
|
11
|
+
private int id; /* */
|
12
|
+
private String name; /* */
|
13
|
+
private String desc; /* */
|
14
|
+
private double price; /* */
|
15
|
+
|
16
|
+
public Item(int id, String name, String desc, double price) {
|
17
|
+
this.id = id;
|
18
|
+
this.name = name;
|
19
|
+
this.desc = desc;
|
20
|
+
this.price = price;
|
21
|
+
}
|
22
|
+
|
23
|
+
public int getId() { return id }
|
24
|
+
public void setId(int id) { this.id = id; }
|
25
|
+
|
26
|
+
public String getName() { return name }
|
27
|
+
public void setName(String name) { this.name = name; }
|
28
|
+
|
29
|
+
public String getDesc() { return desc }
|
30
|
+
public void setDesc(String desc) { this.desc = desc; }
|
31
|
+
|
32
|
+
public double getPrice() { return price }
|
33
|
+
public void setPrice(double price) { this.price = price; }
|
34
|
+
|
35
|
+
// -----------
|
36
|
+
|
37
|
+
}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
/*
|
2
|
+
* DTO for Java
|
3
|
+
* generated by kwatable with template 'dto-java.eruby'
|
4
|
+
*/
|
5
|
+
import java.util.Date;
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Sales order master table
|
9
|
+
*/
|
10
|
+
public class SalesOrder implements java.io.Serializable {
|
11
|
+
|
12
|
+
private int id; /* */
|
13
|
+
private int customer_id; /* */
|
14
|
+
private Date ordered_date; /* */
|
15
|
+
private Date delivery_date; /* */
|
16
|
+
private double amount; /* */
|
17
|
+
|
18
|
+
public SalesOrder(int id, int customer_id, Date ordered_date, Date delivery_date, double amount) {
|
19
|
+
this.id = id;
|
20
|
+
this.customer_id = customer_id;
|
21
|
+
this.ordered_date = ordered_date;
|
22
|
+
this.delivery_date = delivery_date;
|
23
|
+
this.amount = amount;
|
24
|
+
}
|
25
|
+
|
26
|
+
public int getId() { return id }
|
27
|
+
public void setId(int id) { this.id = id; }
|
28
|
+
|
29
|
+
public int getCustomerId() { return customer_id }
|
30
|
+
public void setCustomerId(int customer_id) { this.customer_id = customer_id; }
|
31
|
+
|
32
|
+
public Date getOrderedDate() { return ordered_date }
|
33
|
+
public void setOrderedDate(Date ordered_date) { this.ordered_date = ordered_date; }
|
34
|
+
|
35
|
+
public Date getDeliveryDate() { return delivery_date }
|
36
|
+
public void setDeliveryDate(Date delivery_date) { this.delivery_date = delivery_date; }
|
37
|
+
|
38
|
+
public double getAmount() { return amount }
|
39
|
+
public void setAmount(double amount) { this.amount = amount; }
|
40
|
+
|
41
|
+
// -----------
|
42
|
+
|
43
|
+
private Customer customer;
|
44
|
+
public Customer getCustomer() { return customer; }
|
45
|
+
public void setCustomer(Customer customer) {
|
46
|
+
this.customer = customer;
|
47
|
+
this.customer_id = customer.getId();
|
48
|
+
}
|
49
|
+
|
50
|
+
}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
/*
|
2
|
+
* DTO for Java
|
3
|
+
* generated by kwatable with template 'dto-java.eruby'
|
4
|
+
*/
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Sales Order detail lines
|
8
|
+
*/
|
9
|
+
public class SalesOrderLine implements java.io.Serializable {
|
10
|
+
|
11
|
+
private int num; /* */
|
12
|
+
private int order_id; /* */
|
13
|
+
private int item_id; /* */
|
14
|
+
private double price; /* */
|
15
|
+
private int quantity; /* */
|
16
|
+
|
17
|
+
public SalesOrderLine(int num, int order_id, int item_id, double price, int quantity) {
|
18
|
+
this.num = num;
|
19
|
+
this.order_id = order_id;
|
20
|
+
this.item_id = item_id;
|
21
|
+
this.price = price;
|
22
|
+
this.quantity = quantity;
|
23
|
+
}
|
24
|
+
|
25
|
+
public int getNum() { return num }
|
26
|
+
public void setNum(int num) { this.num = num; }
|
27
|
+
|
28
|
+
public int getOrderId() { return order_id }
|
29
|
+
public void setOrderId(int order_id) { this.order_id = order_id; }
|
30
|
+
|
31
|
+
public int getItemId() { return item_id }
|
32
|
+
public void setItemId(int item_id) { this.item_id = item_id; }
|
33
|
+
|
34
|
+
public double getPrice() { return price }
|
35
|
+
public void setPrice(double price) { this.price = price; }
|
36
|
+
|
37
|
+
public int getQuantity() { return quantity }
|
38
|
+
public void setQuantity(int quantity) { this.quantity = quantity; }
|
39
|
+
|
40
|
+
// -----------
|
41
|
+
|
42
|
+
private SalesOrder order;
|
43
|
+
public SalesOrder getOrder() { return order; }
|
44
|
+
public void setOrder(SalesOrder order) {
|
45
|
+
this.order = order;
|
46
|
+
this.order_id = order.getId();
|
47
|
+
}
|
48
|
+
|
49
|
+
private Item item;
|
50
|
+
public Item getItem() { return item; }
|
51
|
+
public void setItem(Item item) {
|
52
|
+
this.item = item;
|
53
|
+
this.item_id = item.getId();
|
54
|
+
}
|
55
|
+
|
56
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
##
|
2
|
+
## DTO for Ruby
|
3
|
+
## generated by kwatable with template 'dto-ruby.eruby'
|
4
|
+
##
|
5
|
+
|
6
|
+
## Address master table
|
7
|
+
class Address
|
8
|
+
|
9
|
+
def initialize(id, zipcode, addr1, addr2, addr3)
|
10
|
+
@id = id
|
11
|
+
@zipcode = zipcode
|
12
|
+
@addr1 = addr1
|
13
|
+
@addr2 = addr2
|
14
|
+
@addr3 = addr3
|
15
|
+
end
|
16
|
+
|
17
|
+
attr_accessor :id #
|
18
|
+
attr_accessor :zipcode #
|
19
|
+
attr_accessor :addr1 #
|
20
|
+
attr_accessor :addr2 #
|
21
|
+
attr_accessor :addr3 #
|
22
|
+
|
23
|
+
// -----------
|
24
|
+
|
25
|
+
end
|