Subversion Repositories SmartDukaan

Rev

Rev 15048 | Rev 15083 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
15011 amit.gupta 1
from elixir import *
14039 kshitij.so 2
from elixir.entity import Entity
3
from elixir.fields import Field
4
from elixir.options import using_options, using_table_options
14040 kshitij.so 5
from sqlalchemy import create_engine
15081 amit.gupta 6
from sqlalchemy.ext.declarative import declarative_base
7
from sqlalchemy.schema import MetaData, Table, Column
8
from sqlalchemy.sql.expression import func
15011 amit.gupta 9
from sqlalchemy.types import Integer, String, DateTime, Float, Boolean, Enum, \
10
    Text
14039 kshitij.so 11
 
12
 
13
class Users(Entity):
14
    id = Field(Integer(unsigned=True), primary_key=True)
15
    username = Field(String(128))
16
    email = Field(String(128))
17
    password = Field(String(64))
18
    first_name = Field(String(64))
19
    last_name = Field(String(64))
20
    mobile_number = Field(String(15))
21
    referral_url = Field(String(256))
22
    referrer = Field(String(32))
23
    password_reset = Field(String(64))
24
    activation_code = Field(String(40))
25
    group_id = Field(Integer(unsigned=True), default=1, server_default='1')
26
    status = Field(Boolean, default=True, server_default='1')
27
    created = Field(DateTime)
28
    modified = Field(DateTime)
29
    using_options(shortnames=True)
30
    using_table_options(mysql_engine="InnoDB")
31
 
32
class user_actions(Entity):
33
    id = Field(Integer(unsigned=True), primary_key=True)
34
    user_id = Field(Integer(unsigned=True))
35
    store_product_id = Field(Integer(unsigned=True))
36
    action = Field(Enum('like','dislike'))
37
    created = Field(DateTime)
38
    using_options(shortnames=True)
39
    using_table_options(mysql_engine="InnoDB")
40
 
41
class brand_preferences(Entity):
42
    id = Field(Integer(unsigned=True), primary_key=True)
43
    user_id = Field(Integer(unsigned=True))
44
    category_id = Field(Integer(unsigned=True))
45
    brand = Field(String(128))
46
    status = Field(Enum('show','hide'),default='hide', server_default='hide')
47
    created = Field(DateTime)
48
    modified = Field(DateTime)
49
    using_options(shortnames=True)
50
    using_table_options(mysql_engine="InnoDB")
51
 
52
class price_preferences(Entity):
53
    id = Field(Integer(unsigned=True), primary_key=True)
54
    user_id = Field(Integer(unsigned=True))
55
    category_id = Field(Integer(unsigned=True))
56
    min_price = Field(Float, default=0.0, server_default="0.0")
57
    max_price = Field(Float, default=0.0, server_default="0.0")
58
    created = Field(DateTime)
59
    modified = Field(DateTime)
60
    using_options(shortnames=True)
61
    using_table_options(mysql_engine="InnoDB")
62
 
14769 kshitij.so 63
class Brands(Entity):
64
    id = Field(Integer(unsigned=True), primary_key=True)
65
    name = Field(String(128))
66
    category_id = Field(Integer)
67
    using_options(shortnames=True)
68
    using_table_options(mysql_engine="InnoDB")
14859 manish.sha 69
 
14921 manish.sha 70
class Feedbacks(Entity):
14859 manish.sha 71
    id = Field(Integer(unsigned=True), primary_key=True)
72
    user_id = Field(Integer(unsigned=True))
73
    email = Field(String(128))
74
    subject = Field(String(256))
75
    message = Field(Text)
76
    created = Field(DateTime)
77
    isTicketCreated = Field(Boolean, default=False, server_default='0')
14921 manish.sha 78
    using_options(shortnames=True)
79
    using_table_options(mysql_engine="InnoDB")
14039 kshitij.so 80
 
15011 amit.gupta 81
class Postoffices(Entity):
82
    id = Field(Integer(10, unsigned=True), primary_key=True)
83
    name = Field(String(128))
84
    pincode = Field(Integer(6, unsigned=True))
85
    deliverystatus = Field(Boolean)
86
    divisionname = Field(String(128))
87
    regionname = Field(String(128))
88
    taluk = Field(String(128))
89
    district = Field(String(128))
90
    state = Field(String(128))
91
    using_options(shortnames=True)
92
    using_table_options(mysql_engine="InnoDB")
93
 
15048 kshitij.so 94
class Orders(Entity):
95
    id = Field(Integer(unsigned=True), primary_key=True)
96
    user_id = Field(Integer(unsigned=True), primary_key=True)
97
    store_id = Field(Integer(unsigned=True), primary_key=True)
98
    order_url = Field(String(256))
99
    status = Field(String(32))
100
    created = Field(DateTime)
101
    modified = Field(DateTime)
102
    using_options(shortnames=True)
103
    using_table_options(mysql_engine="InnoDB")
104
 
15081 amit.gupta 105
class Retailers(Entity):
106
    id = Field(Integer(unsigned=True), primary_key=True)
107
    title = Field(String(256))
108
    address = Field(String(512))
109
    agent_id=Field(Integer(unsigned=True))
110
    contact1 = Field(String(10))
111
    contact2 = Field(String(10))
112
    pin = Field(String(6))
113
    state = Field(String(48))
114
    status = Field(String(20))
115
    retry_count = Field(Field(Integer(3)))
116
    invalid_retry_count = Field(Field(Integer(3)))
117
    call_priority = Field(Enum('user_initiated', 'system_initiated'))
118
    next_call_time = Field(DateTime)
119
    is_std = Field(Boolean(DateTime))
120
    is_or = Field(Boolean(DateTime))
121
    created = Field(DateTime)
122
    modified = Field(DateTime, default=func.now(), onupdate=func.utc_timestamp())
123
    using_options(shortnames=True)
124
    using_table_options(mysql_engine="InnoDB")
125
 
126
class RetryConfig(Entity):
127
    call_type = Field(Enum('fresh', 'followup'))
128
    disposition_type = Field(Enum('call_later', 'ringing_no_answer', 'not_reachable', 'switch_off'))
129
    retry_count = Field(Integer(unsigned=True))
130
    days_ahead = Field(DateTime)
131
    using_options(shortnames=True)
132
    using_table_options(mysql_engine="InnoDB")
133
 
134
 
14826 kshitij.so 135
def initialize(dbname='dtr', db_hostname="localhost", echo=True):
14039 kshitij.so 136
    #metadata.bind = "sqlite:///inventory-new.sqlite" #need to read it from configserver.
137
    #metadata.bind = 'mysql://root:shop2020@localhost/catalog'
138
    cengine = create_engine('mysql://root:shop2020@' + db_hostname + '/' + dbname, pool_recycle=7200)
139
    metadata.bind = cengine
14826 kshitij.so 140
    metadata.bind.echo = echo
14039 kshitij.so 141
    setup_all(True)
142
 
143
if __name__=="__main__":
144
    initialize()
15011 amit.gupta 145
 
146
 
147