Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
14039 kshitij.so 1
from elixir import metadata, setup_all
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
6
from sqlalchemy.types import Integer, String, DateTime, Float, Boolean, Enum
14039 kshitij.so 7
 
8
 
9
class Users(Entity):
10
    id = Field(Integer(unsigned=True), primary_key=True)
11
    username = Field(String(128))
12
    email = Field(String(128))
13
    password = Field(String(64))
14
    first_name = Field(String(64))
15
    last_name = Field(String(64))
16
    mobile_number = Field(String(15))
17
    referral_url = Field(String(256))
18
    referrer = Field(String(32))
19
    password_reset = Field(String(64))
20
    activation_code = Field(String(40))
21
    group_id = Field(Integer(unsigned=True), default=1, server_default='1')
22
    status = Field(Boolean, default=True, server_default='1')
23
    created = Field(DateTime)
24
    modified = Field(DateTime)
25
    using_options(shortnames=True)
26
    using_table_options(mysql_engine="InnoDB")
27
 
28
class user_actions(Entity):
29
    id = Field(Integer(unsigned=True), primary_key=True)
30
    user_id = Field(Integer(unsigned=True))
31
    store_product_id = Field(Integer(unsigned=True))
32
    action = Field(Enum('like','dislike'))
33
    created = Field(DateTime)
34
    using_options(shortnames=True)
35
    using_table_options(mysql_engine="InnoDB")
36
 
37
class brand_preferences(Entity):
38
    id = Field(Integer(unsigned=True), primary_key=True)
39
    user_id = Field(Integer(unsigned=True))
40
    category_id = Field(Integer(unsigned=True))
41
    brand = Field(String(128))
42
    status = Field(Enum('show','hide'),default='hide', server_default='hide')
43
    created = Field(DateTime)
44
    modified = Field(DateTime)
45
    using_options(shortnames=True)
46
    using_table_options(mysql_engine="InnoDB")
47
 
48
class price_preferences(Entity):
49
    id = Field(Integer(unsigned=True), primary_key=True)
50
    user_id = Field(Integer(unsigned=True))
51
    category_id = Field(Integer(unsigned=True))
52
    min_price = Field(Float, default=0.0, server_default="0.0")
53
    max_price = Field(Float, default=0.0, server_default="0.0")
54
    created = Field(DateTime)
55
    modified = Field(DateTime)
56
    using_options(shortnames=True)
57
    using_table_options(mysql_engine="InnoDB")
58
 
14769 kshitij.so 59
class Brands(Entity):
60
    id = Field(Integer(unsigned=True), primary_key=True)
61
    name = Field(String(128))
62
    category_id = Field(Integer)
63
    using_options(shortnames=True)
64
    using_table_options(mysql_engine="InnoDB")
14039 kshitij.so 65
 
14769 kshitij.so 66
 
14826 kshitij.so 67
def initialize(dbname='dtr', db_hostname="localhost", echo=True):
14039 kshitij.so 68
    #metadata.bind = "sqlite:///inventory-new.sqlite" #need to read it from configserver.
69
    #metadata.bind = 'mysql://root:shop2020@localhost/catalog'
70
    cengine = create_engine('mysql://root:shop2020@' + db_hostname + '/' + dbname, pool_recycle=7200)
71
    metadata.bind = cengine
14826 kshitij.so 72
    metadata.bind.echo = echo
14039 kshitij.so 73
    setup_all(True)
74
 
75
if __name__=="__main__":
76
    initialize()