Subversion Repositories SmartDukaan

Rev

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