| 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 |
|
|
|
59 |
|
|
|
60 |
def initialize(dbname='dtr', db_hostname="localhost"):
|
|
|
61 |
#metadata.bind = "sqlite:///inventory-new.sqlite" #need to read it from configserver.
|
|
|
62 |
#metadata.bind = 'mysql://root:shop2020@localhost/catalog'
|
|
|
63 |
cengine = create_engine('mysql://root:shop2020@' + db_hostname + '/' + dbname, pool_recycle=7200)
|
|
|
64 |
metadata.bind = cengine
|
|
|
65 |
metadata.bind.echo = True
|
|
|
66 |
setup_all(True)
|
|
|
67 |
|
|
|
68 |
if __name__=="__main__":
|
|
|
69 |
initialize()
|