Subversion Repositories SmartDukaan

Rev

Rev 731 | Rev 1131 | 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
'''
6
from elixir import *
7
import datetime
746 rajveer 8
import elixir
442 rajveer 9
 
10
class Provider(Entity):
11
    id = Field(Integer, primary_key=True, autoincrement=True)
12
    name = Field(String(100))
669 chandransh 13
    accountNo = Field(String(10))
644 chandransh 14
    email = Field(String(100))
15
    phone = Field(String(15))
16
    using_options(shortnames=True)
746 rajveer 17
    using_table_options(mysql_engine="InnoDB")
442 rajveer 18
 
644 chandransh 19
class Slab(Entity):
442 rajveer 20
    id = Field(Integer, primary_key=True, autoincrement=True)
644 chandransh 21
    description = Field(String(50))
22
    using_options(shortnames=True)
746 rajveer 23
    using_table_options(mysql_engine="InnoDB")
644 chandransh 24
 
25
class Cost(Entity):
26
    provider = ManyToOne("Provider", primary_key=True)
27
    slab = ManyToOne("Slab", primary_key=True)
28
    cost = Field(Float)
29
    using_options(shortnames=True)
746 rajveer 30
    using_table_options(mysql_engine="InnoDB")
644 chandransh 31
 
32
class Awb(Entity):
33
    id = Field(Integer, primary_key=True, autoincrement=True)
442 rajveer 34
    awb_number = Field(String(100))
644 chandransh 35
    provider = ManyToOne("Provider")
442 rajveer 36
    is_available = Field(Boolean)
644 chandransh 37
    type = Field(String(50))
38
    updates = OneToMany("AwbUpdate")
39
    using_options(shortnames=True)
746 rajveer 40
    using_table_options(mysql_engine="InnoDB")
442 rajveer 41
 
644 chandransh 42
class AwbUpdate(Entity):
442 rajveer 43
    id = Field(Integer, primary_key=True, autoincrement=True)
644 chandransh 44
    awb = ManyToOne("Awb")
45
    location = Field(String(50))
46
    entry_date = Field(DateTime)
442 rajveer 47
    description = Field(String(100))
644 chandransh 48
    comments = Field(String(100))
49
    using_options(shortnames=True)
746 rajveer 50
    using_table_options(mysql_engine="InnoDB")
442 rajveer 51
 
644 chandransh 52
class WarehouseAllocation(Entity):
53
    pincode = Field(String(6), primary_key=True)
54
    primary_warehouse_location = Field(Integer)
55
    using_options(shortnames=True)
746 rajveer 56
    using_table_options(mysql_engine="InnoDB")
57
 
644 chandransh 58
class ServiceableLocationDetails(Entity):
59
    provider = ManyToOne("Provider", primary_key=True)
60
    dest_pincode = Field(String(6), primary_key=True)
731 chandransh 61
    dest_code = Field(String(10))
644 chandransh 62
    exp = Field(Boolean)
63
    cod = Field(Boolean)
64
    station_type = Field(Integer)
65
    using_options(shortnames=True)
746 rajveer 66
    using_table_options(mysql_engine="InnoDB")
477 rajveer 67
 
472 rajveer 68
class DeliveryEstimate(Entity):
644 chandransh 69
    destination_pin = Field(String(6), primary_key=True)
477 rajveer 70
    provider = ManyToOne("Provider", primary_key=True)
746 rajveer 71
    warehouse_location = Field(Integer, primary_key=True, autoincrement=False)
644 chandransh 72
    #slab = ManyToOne("Slab")
472 rajveer 73
    delivery_time = Field(Integer)
644 chandransh 74
    reliability = Field(Integer)
75
    using_options(shortnames=True)
746 rajveer 76
    using_table_options(mysql_engine="InnoDB")
442 rajveer 77
 
78
def initialize():
746 rajveer 79
    #metadata.bind = "sqlite:///logistics.sqlite" #need to read it from configserver.
80
    metadata.bind = 'mysql://root:shop2020@localhost/logistics'
442 rajveer 81
    metadata.bind.echo = True
82
    setup_all(True)
83
 
84
if __name__=="__main__":
85
    initialize()
86