Subversion Repositories SmartDukaan

Rev

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

Rev 11657 Rev 12696
Line 2... Line 2...
2
Created on 28-Apr-2010
2
Created on 28-Apr-2010
3
 
3
 
4
@author: ashish
4
@author: ashish
5
'''
5
'''
6
 
6
 
-
 
7
from checkbox.properties import Bool
7
from elixir import *
8
from elixir import *
8
from elixir.entity import Entity
9
from elixir.entity import Entity
9
from elixir.fields import Field
10
from elixir.fields import Field
10
from sqlalchemy import create_engine
-
 
11
from sqlalchemy.types import Integer
-
 
12
from elixir.relationships import OneToMany, ManyToOne
11
from elixir.relationships import OneToMany, ManyToOne
-
 
12
from sqlalchemy import create_engine
-
 
13
from sqlalchemy.types import Integer, Integer, String, Float, DateTime, Boolean, \
-
 
14
    Enum, Numeric, BigInteger, LargeBinary, Date
13
import datetime
15
import datetime
14
import elixir
16
import elixir
15
from sqlalchemy.types import Integer, String, Float, DateTime, Boolean, Enum, \
-
 
16
    Numeric, BigInteger, LargeBinary,Date
-
 
17
 
17
 
18
class Address(Entity):
18
class Address(Entity):
19
    id = Field(Integer, primary_key=True, autoincrement=True)
19
    id = Field(Integer, primary_key=True, autoincrement=True)
20
    line_1 = Field(String(100))
20
    line_1 = Field(String(100))
21
    line_2 = Field(String(100))
21
    line_2 = Field(String(100))
Line 129... Line 129...
129
    using_options(shortnames = True)
129
    using_options(shortnames = True)
130
    using_table_options(mysql_engine = "InnoDB")
130
    using_table_options(mysql_engine = "InnoDB")
131
    
131
    
132
class PrivateDealUser(Entity):
132
class PrivateDealUser(Entity):
133
    id = Field(Integer, primary_key=True)
133
    id = Field(Integer, primary_key=True)
-
 
134
    counter = ManyToOne("Counter")
-
 
135
    tin = Field(String(20))
134
    created_on = Field(DateTime)
136
    created_on = Field(DateTime)
135
    isActive = Field(Boolean)
137
    isActive = Field(Boolean)
136
    using_options(shortnames = True)
138
    using_options(shortnames = True)
137
    using_table_options(mysql_engine = "InnoDB")
139
    using_table_options(mysql_engine = "InnoDB")
138
 
140
 
Line 239... Line 241...
239
    addressId = Field(Integer)
241
    addressId = Field(Integer)
240
    dob = Field(String(64))
242
    dob = Field(String(64))
241
    guardianName = Field(String(255))
243
    guardianName = Field(String(255))
242
    using_options(shortnames=True)
244
    using_options(shortnames=True)
243
    using_table_options(mysql_engine="InnoDB")
245
    using_table_options(mysql_engine="InnoDB")
-
 
246
    
-
 
247
class Counter(Entity):
-
 
248
    id = Field(Integer, primary_key=True, autoincrement=True)
-
 
249
    code = Field(String(10),unique=True)
-
 
250
    dealUsers = OneToMany("PrivateDealUser")
-
 
251
    name = Field(String(128))
-
 
252
    ownerName = Field(String(100))
-
 
253
    email = Field(String(80))
-
 
254
    mobile = Field(String(10))
-
 
255
    alternateMobile = Field(String(10))
-
 
256
    addressId = Field(Integer)
-
 
257
    striker = Field(Boolean)
-
 
258
    tin = Field(String(20), unique=True)
-
 
259
    spCounterSize = Field(Integer)
-
 
260
    fpCounterSize = Field(Integer)
-
 
261
    createdOn = Field(DateTime)
-
 
262
    using_options(shortnames=True)
-
 
263
    using_table_options(mysql_engine="InnoDB")
244
 
264
 
245
def initialize(dbname='user', db_hostname="localhost"):
265
def initialize(dbname='user', db_hostname="localhost"):
246
    #metadata.bind = "sqlite:///user.sqlite" #need to read it from configserver.
266
    #metadata.bind = "sqlite:///user.sqlite" #need to read it from configserver.
247
    engine = create_engine('mysql://root:shop2020@' + db_hostname + '/' + dbname, pool_recycle=7200, max_overflow=20)
267
    engine = create_engine('mysql://root:shop2020@' + db_hostname + '/' + dbname, pool_recycle=7200, max_overflow=20)
248
    metadata.bind = engine
268
    metadata.bind = engine