Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
15086 amit.gupta 1
from sqlalchemy import create_engine
15011 amit.gupta 2
from elixir import *
14039 kshitij.so 3
from elixir.entity import Entity
4
from elixir.fields import Field
5
from elixir.options import using_options, using_table_options
15081 amit.gupta 6
from sqlalchemy.sql.expression import func
15011 amit.gupta 7
from sqlalchemy.types import Integer, String, DateTime, Float, Boolean, Enum, \
8
    Text
14039 kshitij.so 9
 
10
 
11
class Users(Entity):
12
    id = Field(Integer(unsigned=True), primary_key=True)
13
    username = Field(String(128))
14
    email = Field(String(128))
15
    password = Field(String(64))
16
    first_name = Field(String(64))
17
    last_name = Field(String(64))
18
    mobile_number = Field(String(15))
19
    referral_url = Field(String(256))
20
    referrer = Field(String(32))
21
    password_reset = Field(String(64))
22
    activation_code = Field(String(40))
23
    group_id = Field(Integer(unsigned=True), default=1, server_default='1')
24
    status = Field(Boolean, default=True, server_default='1')
25
    created = Field(DateTime)
26
    modified = Field(DateTime)
27
    using_options(shortnames=True)
28
    using_table_options(mysql_engine="InnoDB")
29
 
30
class user_actions(Entity):
31
    id = Field(Integer(unsigned=True), primary_key=True)
32
    user_id = Field(Integer(unsigned=True))
33
    store_product_id = Field(Integer(unsigned=True))
34
    action = Field(Enum('like','dislike'))
35
    created = Field(DateTime)
36
    using_options(shortnames=True)
37
    using_table_options(mysql_engine="InnoDB")
38
 
39
class brand_preferences(Entity):
40
    id = Field(Integer(unsigned=True), primary_key=True)
41
    user_id = Field(Integer(unsigned=True))
42
    category_id = Field(Integer(unsigned=True))
43
    brand = Field(String(128))
44
    status = Field(Enum('show','hide'),default='hide', server_default='hide')
45
    created = Field(DateTime)
46
    modified = Field(DateTime)
47
    using_options(shortnames=True)
48
    using_table_options(mysql_engine="InnoDB")
49
 
50
class price_preferences(Entity):
51
    id = Field(Integer(unsigned=True), primary_key=True)
52
    user_id = Field(Integer(unsigned=True))
53
    category_id = Field(Integer(unsigned=True))
54
    min_price = Field(Float, default=0.0, server_default="0.0")
55
    max_price = Field(Float, default=0.0, server_default="0.0")
56
    created = Field(DateTime)
57
    modified = Field(DateTime)
58
    using_options(shortnames=True)
59
    using_table_options(mysql_engine="InnoDB")
60
 
14769 kshitij.so 61
class Brands(Entity):
62
    id = Field(Integer(unsigned=True), primary_key=True)
63
    name = Field(String(128))
64
    category_id = Field(Integer)
65
    using_options(shortnames=True)
66
    using_table_options(mysql_engine="InnoDB")
14859 manish.sha 67
 
14921 manish.sha 68
class Feedbacks(Entity):
14859 manish.sha 69
    id = Field(Integer(unsigned=True), primary_key=True)
70
    user_id = Field(Integer(unsigned=True))
71
    email = Field(String(128))
72
    subject = Field(String(256))
73
    message = Field(Text)
74
    created = Field(DateTime)
75
    isTicketCreated = Field(Boolean, default=False, server_default='0')
14921 manish.sha 76
    using_options(shortnames=True)
77
    using_table_options(mysql_engine="InnoDB")
14039 kshitij.so 78
 
15011 amit.gupta 79
class Postoffices(Entity):
80
    id = Field(Integer(10, unsigned=True), primary_key=True)
81
    name = Field(String(128))
82
    pincode = Field(Integer(6, unsigned=True))
83
    deliverystatus = Field(Boolean)
84
    divisionname = Field(String(128))
85
    regionname = Field(String(128))
86
    taluk = Field(String(128))
87
    district = Field(String(128))
88
    state = Field(String(128))
89
    using_options(shortnames=True)
90
    using_table_options(mysql_engine="InnoDB")
91
 
15048 kshitij.so 92
class Orders(Entity):
93
    id = Field(Integer(unsigned=True), primary_key=True)
94
    user_id = Field(Integer(unsigned=True), primary_key=True)
95
    store_id = Field(Integer(unsigned=True), primary_key=True)
96
    order_url = Field(String(256))
97
    status = Field(String(32))
98
    created = Field(DateTime)
99
    modified = Field(DateTime)
100
    using_options(shortnames=True)
101
    using_table_options(mysql_engine="InnoDB")
102
 
15081 amit.gupta 103
class Retailers(Entity):
104
    id = Field(Integer(unsigned=True), primary_key=True)
15083 amit.gupta 105
    identifier = Field(String(128))
15081 amit.gupta 106
    title = Field(String(256))
107
    address = Field(String(512))
108
    agent_id=Field(Integer(unsigned=True))
109
    contact1 = Field(String(10))
110
    contact2 = Field(String(10))
111
    pin = Field(String(6))
112
    state = Field(String(48))
113
    status = Field(String(20))
15083 amit.gupta 114
    is_elavated = Field(Boolean)
15086 amit.gupta 115
    retry_count = Field(Integer(3))
116
    invalid_retry_count = Field(Integer(3))
15081 amit.gupta 117
    call_priority = Field(Enum('user_initiated', 'system_initiated'))
118
    next_call_time = Field(DateTime)
15086 amit.gupta 119
    is_std = Field(Boolean)
120
    is_or = Field(Boolean)
15081 amit.gupta 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