Subversion Repositories SmartDukaan

Rev

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