Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
442 rajveer 1
'''
2
Created on 13-Sep-2010
3
 
4
@author: rajveer
5
'''
1131 chandransh 6
 
7
from sqlalchemy import create_engine
442 rajveer 8
from elixir import *
9
import datetime
746 rajveer 10
import elixir
442 rajveer 11
 
12
class Provider(Entity):
13
    id = Field(Integer, primary_key=True, autoincrement=True)
14
    name = Field(String(100))
5527 anupam.sin 15
    pickup = Field(Integer)
5387 rajveer 16
    isActive = Field(Boolean)
3044 chandransh 17
    details = OneToMany("ProviderDetails")
18
    using_options(shortnames=True)
19
    using_table_options(mysql_engine="InnoDB")
20
 
21
class ProviderDetails(Entity):
22
    provider = ManyToOne("Provider", primary_key=True)
23
    type = Field(Integer, primary_key=True, autoincrement=False)
669 chandransh 24
    accountNo = Field(String(10))
644 chandransh 25
    email = Field(String(100))
3044 chandransh 26
    phone = Field(String(15))    
644 chandransh 27
    using_options(shortnames=True)
746 rajveer 28
    using_table_options(mysql_engine="InnoDB")
3044 chandransh 29
 
644 chandransh 30
class Awb(Entity):
31
    id = Field(Integer, primary_key=True, autoincrement=True)
442 rajveer 32
    awb_number = Field(String(100))
644 chandransh 33
    provider = ManyToOne("Provider")
442 rajveer 34
    is_available = Field(Boolean)
644 chandransh 35
    type = Field(String(50))
36
    updates = OneToMany("AwbUpdate")
37
    using_options(shortnames=True)
746 rajveer 38
    using_table_options(mysql_engine="InnoDB")
442 rajveer 39
 
644 chandransh 40
class AwbUpdate(Entity):
442 rajveer 41
    id = Field(Integer, primary_key=True, autoincrement=True)
644 chandransh 42
    awb = ManyToOne("Awb")
43
    location = Field(String(50))
44
    entry_date = Field(DateTime)
442 rajveer 45
    description = Field(String(100))
644 chandransh 46
    comments = Field(String(100))
47
    using_options(shortnames=True)
746 rajveer 48
    using_table_options(mysql_engine="InnoDB")
442 rajveer 49
 
644 chandransh 50
class WarehouseAllocation(Entity):
51
    pincode = Field(String(6), primary_key=True)
52
    primary_warehouse_location = Field(Integer)
53
    using_options(shortnames=True)
746 rajveer 54
    using_table_options(mysql_engine="InnoDB")
55
 
644 chandransh 56
class ServiceableLocationDetails(Entity):
57
    provider = ManyToOne("Provider", primary_key=True)
58
    dest_pincode = Field(String(6), primary_key=True)
731 chandransh 59
    dest_code = Field(String(10))
644 chandransh 60
    exp = Field(Boolean)
61
    cod = Field(Boolean)
62
    station_type = Field(Integer)
63
    using_options(shortnames=True)
746 rajveer 64
    using_table_options(mysql_engine="InnoDB")
477 rajveer 65
 
472 rajveer 66
class DeliveryEstimate(Entity):
644 chandransh 67
    destination_pin = Field(String(6), primary_key=True)
477 rajveer 68
    provider = ManyToOne("Provider", primary_key=True)
746 rajveer 69
    warehouse_location = Field(Integer, primary_key=True, autoincrement=False)
472 rajveer 70
    delivery_time = Field(Integer)
644 chandransh 71
    reliability = Field(Integer)
72
    using_options(shortnames=True)
746 rajveer 73
    using_table_options(mysql_engine="InnoDB")
1504 ankur.sing 74
 
1730 ankur.sing 75
class PublicHolidays(Entity):
76
    date = Field(Date, primary_key=True)
77
    occasion = Field(String(100))
78
    using_options(shortnames=True)
79
    using_table_options(mysql_engine="InnoDB")
5555 rajveer 80
 
81
class PickupStore(Entity):
82
    id = Field(Integer, primary_key=True)
5719 rajveer 83
    hotspotId = Field(String(3))
5555 rajveer 84
    name = Field(String(100))
85
    line_1 = Field(String(100))
86
    line_2 = Field(String(100))
87
    city = Field(String(100))
88
    state = Field(String(100))
89
    pin = Field(String(10))
90
    phone = Field(String(20))
5739 rajveer 91
    zone = Field(String(30))
5813 rajveer 92
    bdm = Field(String(100))
93
    bdmEmail = Field(String(100))
5555 rajveer 94
    using_options(shortnames=True)
95
    using_table_options(mysql_engine="InnoDB")
96
 
3187 rajveer 97
def initialize(dbname="logistics",db_hostname="localhost"):
746 rajveer 98
    #metadata.bind = "sqlite:///logistics.sqlite" #need to read it from configserver.
3187 rajveer 99
    engine = create_engine('mysql://root:shop2020@' + db_hostname + '/' + dbname, pool_recycle=7200)
1131 chandransh 100
    metadata.bind = engine
442 rajveer 101
    metadata.bind.echo = True
102
    setup_all(True)
103
 
104
if __name__=="__main__":
105
    initialize()
106