Subversion Repositories SmartDukaan

Rev

Rev 690 | Rev 772 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 690 Rev 746
Line 8... Line 8...
8
from elixir.entity import Entity
8
from elixir.entity import Entity
9
from elixir.fields import Field
9
from elixir.fields import Field
10
from sqlalchemy.types import Integer
10
from sqlalchemy.types import Integer
11
from elixir.relationships import OneToMany, ManyToOne
11
from elixir.relationships import OneToMany, ManyToOne
12
import datetime
12
import datetime
-
 
13
import elixir
13
 
14
 
14
class SocialService(Entity):
15
class SocialService(Entity):
15
    id = Field(Integer, primary_key=True, autoincrement=True)
16
    id = Field(Integer, primary_key=True, autoincrement=True)
16
    name = Field(String(100))
17
    name = Field(String(100))
17
    handles = OneToMany("SocialHandle")
18
    handles = OneToMany("SocialHandle")
18
    using_options(shortnames=True)
19
    using_options(shortnames=True)
-
 
20
    using_table_options(mysql_engine="InnoDB")
19
 
21
    
20
class SocialHandle(Entity):
22
class SocialHandle(Entity):
21
    id = Field(Integer, primary_key=True, autoincrement=True)
23
    id = Field(Integer, primary_key=True, autoincrement=True)
22
    handle = Field(String(100))
24
    handle = Field(String(100))
23
    service = ManyToOne("SocialService")
25
    service = ManyToOne("SocialService")
24
    user = ManyToOne("User")
26
    user = ManyToOne("User")
25
    using_options(shortnames=True)
27
    using_options(shortnames=True)
-
 
28
    using_table_options(mysql_engine="InnoDB")
26
        
29
        
27
class Address(Entity):
30
class Address(Entity):
28
    id = Field(Integer, primary_key=True, autoincrement=True)
31
    id = Field(Integer, primary_key=True, autoincrement=True)
29
    line_1 = Field(String(100))
32
    line_1 = Field(String(100))
30
    line_2 = Field(String(100))
33
    line_2 = Field(String(100))
Line 38... Line 41...
38
    added_on = Field(DateTime)
41
    added_on = Field(DateTime)
39
    name = Field(String(100))
42
    name = Field(String(100))
40
    phone = Field(String(20))
43
    phone = Field(String(20))
41
    user = ManyToOne("User")
44
    user = ManyToOne("User")
42
    using_options(shortnames=True)
45
    using_options(shortnames=True)
-
 
46
    using_table_options(mysql_engine="InnoDB")
43
        
47
        
44
class Phone(Entity):
48
class Phone(Entity):
45
    id = Field(Integer, primary_key=True, autoincrement=True)
49
    id = Field(Integer, primary_key=True, autoincrement=True)
46
    country_code = Field(String(5))
50
    country_code = Field(String(5))
47
    area_code = Field(String(10))
51
    area_code = Field(String(10))
48
    number = Field(String(20))
52
    number = Field(String(20))
49
    extension = Field(String(10))
53
    extension = Field(String(10))
50
    type = Field(Integer)
54
    type = Field(Integer)
51
    user = ManyToOne("User")
55
    user = ManyToOne("User")
52
    using_options(shortnames=True)
56
    using_options(shortnames=True)
-
 
57
    using_table_options(mysql_engine="InnoDB")
53
    
58
    
54
class InternalInfo(Entity):
59
class InternalInfo(Entity):
55
    id = Field(Integer, primary_key=True, autoincrement=True)
60
    id = Field(Integer, primary_key=True, autoincrement=True)
56
    geo_zone = Field(Integer)
61
    geo_zone = Field(Integer)
57
    shipment_zone = Field(Integer)
62
    shipment_zone = Field(Integer)
58
    tax_zone = Field(Integer)
63
    tax_zone = Field(Integer)
59
    rank_score = Field(Float)
64
    rank_score = Field(Float)
60
    user = ManyToOne("User")
65
    user = ManyToOne("User")
61
    using_options(shortnames=True)
66
    using_options(shortnames=True)
-
 
67
    using_table_options(mysql_engine="InnoDB")
62
        
68
        
63
class IPMap(Entity):
69
class IPMap(Entity):
64
    id = Field(Integer, primary_key=True, autoincrement=True)
70
    id = Field(Integer, primary_key=True, autoincrement=True)
65
    timestamp = Field(DateTime)
71
    timestamp = Field(DateTime)
66
    ip = Field(String(30))
72
    ip = Field(String(30))
67
    user_state = ManyToOne("UserState")
73
    user_state = ManyToOne("UserState")
68
    using_options(shortnames=True)
74
    using_options(shortnames=True)
-
 
75
    using_table_options(mysql_engine="InnoDB")
69
        
76
        
70
class UserState(Entity):
77
class UserState(Entity):
71
    id = Field(Integer, primary_key=True, autoincrement=True)
78
    id = Field(Integer, primary_key=True, autoincrement=True)
72
    last_login = Field(DateTime)
79
    last_login = Field(DateTime)
73
    last_logout = Field(DateTime)
80
    last_logout = Field(DateTime)
Line 78... Line 85...
78
    active_since = Field(DateTime)
85
    active_since = Field(DateTime)
79
    account_status = Field(Integer)
86
    account_status = Field(Integer)
80
    ip_list = OneToMany("IPMap")
87
    ip_list = OneToMany("IPMap")
81
    user = ManyToOne("User")
88
    user = ManyToOne("User")
82
    using_options(shortnames=True)
89
    using_options(shortnames=True)
-
 
90
    using_table_options(mysql_engine="InnoDB")
83
 
91
 
84
class User(Entity):
92
class User(Entity):
85
    id = Field(Integer, primary_key=True, autoincrement=True)
93
    id = Field(Integer, primary_key=True, autoincrement=True)
86
    email = Field(String(100))
94
    email = Field(String(100))
87
    password = Field(String(50))
95
    password = Field(String(50))
Line 95... Line 103...
95
    sex = Field(Integer)
103
    sex = Field(Integer)
96
    mobile_number = Field(String(20))
104
    mobile_number = Field(String(20))
97
    addresses = OneToMany("Address")
105
    addresses = OneToMany("Address")
98
    social_handles = OneToMany("SocialHandle")
106
    social_handles = OneToMany("SocialHandle")
99
    using_options(shortnames=True)
107
    using_options(shortnames=True)
-
 
108
    using_table_options(mysql_engine="InnoDB")
100
 
109
 
101
class Line(Entity):
110
class Line(Entity):
102
    cart = ManyToOne("Cart", primary_key=True)
111
    cart = ManyToOne("Cart", primary_key=True)
103
    item_id = Field(Integer, primary_key=True)
112
    item_id = Field(Integer, primary_key=True, autoincrement=False)
104
    quantity = Field(Float)
113
    quantity = Field(Float)
105
    line_status = Field(Integer)
114
    line_status = Field(Integer)
106
    estimate = Field(Integer)
115
    estimate = Field(Integer)
107
    created_on = Field(DateTime)
116
    created_on = Field(DateTime)
108
    updated_on = Field(DateTime)
117
    updated_on = Field(DateTime)
109
    using_options(shortnames=True)
118
    using_options(shortnames=True)
-
 
119
    using_table_options(mysql_engine="InnoDB")
110
    
120
    
111
class Cart(Entity):
121
class Cart(Entity):
112
    id = Field(Integer, primary_key=True, autoincrement=True)
122
    id = Field(Integer, primary_key=True, autoincrement=True)
113
    user_id = Field(Integer)
123
    user_id = Field(Integer)
114
    cart_status = Field(Integer)
124
    cart_status = Field(Integer)
Line 116... Line 126...
116
    checked_out_on = Field(DateTime)
126
    checked_out_on = Field(DateTime)
117
    created_on = Field(DateTime)
127
    created_on = Field(DateTime)
118
    updated_on = Field(DateTime)
128
    updated_on = Field(DateTime)
119
    lines = OneToMany("Line")
129
    lines = OneToMany("Line")
120
    using_options(shortnames=True)
130
    using_options(shortnames=True)
-
 
131
    using_table_options(mysql_engine="InnoDB")
121
 
132
 
122
#===============================================================================
133
#===============================================================================
123
# Different entities for the Widget service
134
# Different entities for the Widget service
124
#===============================================================================
135
#===============================================================================
125
 
136
 
Line 130... Line 141...
130
    name = Field(String(100))
141
    name = Field(String(100))
131
    enabled = Field(Integer)
142
    enabled = Field(Integer)
132
    session_id = Field(Integer)
143
    session_id = Field(Integer)
133
    items = OneToMany("WidgetItem")
144
    items = OneToMany("WidgetItem")
134
    using_options(shortnames=True)
145
    using_options(shortnames=True)
-
 
146
    using_table_options(mysql_engine="InnoDB")
135
    
147
    
136
class WidgetItem(Entity):
148
class WidgetItem(Entity):
137
    id = Field(Integer, primary_key=True, autoincrement=True)
149
    id = Field(Integer, primary_key=True, autoincrement=True)
138
    added_on = Field(DateTime)
150
    added_on = Field(DateTime)
139
    item = ManyToOne("Item")
151
    item = ManyToOne("Item")
140
    widget = ManyToOne("Widget")
152
    widget = ManyToOne("Widget")
141
    using_options(shortnames=True)    
153
    using_options(shortnames=True)    
-
 
154
    using_table_options(mysql_engine="InnoDB")
142
 
155
 
143
class Item(Entity):
156
class Item(Entity):
144
    id = Field(Integer, primary_key=True, autoincrement=True)
157
    id = Field(Integer, primary_key=True, autoincrement=True)
145
    item_id = Field(Integer)
158
    item_id = Field(Integer)
146
    snippet = Field(Integer)
159
    snippet = Field(Integer)
147
    enabled = Field(Integer)
160
    enabled = Field(Integer)
148
    widget_items=OneToMany("WidgetItem")
161
    widget_items=OneToMany("WidgetItem")
149
    using_options(shortnames=True)
162
    using_options(shortnames=True)
-
 
163
    using_table_options(mysql_engine="InnoDB")
150
 
164
 
151
class Ratings(Entity):
165
class Ratings(Entity):
152
    id = Field(Integer, primary_key=True, autoincrement=True)
166
    id = Field(Integer, primary_key=True, autoincrement=True)
153
    item_id = Field(Integer)
167
    item_id = Field(Integer)
154
    type = Field(Integer)
168
    type = Field(Integer)
155
    rating = Field(Float)
169
    rating = Field(Float)
156
    using_options(shortnames=True)
170
    using_options(shortnames=True)
-
 
171
    using_table_options(mysql_engine="InnoDB")
157
 
172
 
158
class UserRatings(Entity):
173
class UserRatings(Entity):
159
    id = Field(Integer, primary_key=True, autoincrement=True)
174
    id = Field(Integer, primary_key=True, autoincrement=True)
160
    item_id = Field(Integer)
175
    item_id = Field(Integer)
161
    rating = Field(Float)
176
    rating = Field(Float)
162
    user_id = Field(Integer)
177
    user_id = Field(Integer)
163
    using_options(shortnames=True)
178
    using_options(shortnames=True)
-
 
179
    using_table_options(mysql_engine="InnoDB")
164
    
180
    
165
def initialize():
181
def initialize():
166
    metadata.bind = "sqlite:///user.sqlite" #need to read it from configserver.
182
    #metadata.bind = "sqlite:///user.sqlite" #need to read it from configserver.
-
 
183
    metadata.bind = 'mysql://root:shop2020@localhost/user'
167
    metadata.bind.echo = True
184
    metadata.bind.echo = True
168
    setup_all(True)
185
    setup_all(True)
169
 
186
 
170
if __name__=="__main__":
187
if __name__=="__main__":
171
    initialize()
-
 
172
188
    initialize()
-
 
189
    
-
 
190
173
191