Rev 19767 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
from sqlalchemy import create_enginefrom elixir import *from elixir.entity import Entityfrom elixir.fields import Fieldfrom elixir.options import using_options, using_table_optionsfrom sqlalchemy.sql.expression import funcfrom sqlalchemy.types import Integer, String, DateTime, Float, Boolean, Enum, \Text, Datefrom sqlalchemy.dialects.mysql.base import LONGTEXTCASHBACK_AMOUNT = 'CASHBACK_AMOUNT'CASHBACK_PERCENTAGE = 'CASHBACK_PERCENTAGE'class Users(Entity):id = Field(Integer(unsigned=True), primary_key=True)username = Field(String(128))email = Field(String(128))password = Field(String(64))first_name = Field(String(64))last_name = Field(String(64))mobile_number = Field(String(15))referral_url = Field(String(256))referrer = Field(String(32))password_reset = Field(String(64))activation_code = Field(String(40))address_line_1 = Field(String(128))address_line_2 = Field(String(128))city = Field(String(128))state = Field(String(64))pincode = Field(String(6))activated = Field(Boolean)group_id = Field(Integer(unsigned=True), default=1)status = Field(Integer, default=1)utm_campaign = Field(String(128))activation_time = Field(DateTime)created = Field(DateTime)modified = Field(DateTime)usergroup_id = Field(Text)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class user_actions(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True))store_product_id = Field(Integer(unsigned=True))action = Field(Enum('like','dislike'))created = Field(DateTime, default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class OnboardedRetailerChecklists(Entity):id = Field(Integer(unsigned=True), primary_key=True)retailer_id = Field(Integer(unsigned=True))number_verification = Field(Boolean)preferences = Field(Boolean)doa_return_policy = Field(Boolean)payment_option = Field(Boolean)contact_us = Field(Boolean)product_info = Field(Boolean)redeem = Field(Boolean)created = Field(DateTime,default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class brand_preferences(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True))category_id = Field(Integer(unsigned=True))brand = Field(String(128))status = Field(Enum('show','hide'),default='hide', server_default='hide')created = Field(DateTime)modified = Field(DateTime)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class price_preferences(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True))category_id = Field(Integer(unsigned=True))min_price = Field(Float, default=0.0, server_default="0.0")max_price = Field(Float, default=0.0, server_default="0.0")created = Field(DateTime)modified = Field(DateTime)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class Brands(Entity):id = Field(Integer(unsigned=True), primary_key=True)name = Field(String(128))category_id = Field(Integer)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class Feedbacks(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True))email = Field(String(128))subject = Field(String(256))message = Field(Text)created = Field(DateTime)isTicketCreated = Field(Boolean, default=False, server_default='0')using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class Order_Parse_Info(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True))order_id = Field(Integer(unsigned=True))address = Field(String(256))email = Field(String(128))name = Field(String(128))mobile = Field(String(12))city = Field(String(128))state = Field(String(128))pin = Field(String(8))using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class Postoffices(Entity):id = Field(Integer(10, unsigned=True), primary_key=True)name = Field(String(128))pincode = Field(Integer(6, unsigned=True))deliverystatus = Field(Boolean)divisionname = Field(String(128))regionname = Field(String(128))taluk = Field(String(128))district = Field(String(128))state = Field(String(128))using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class Orders(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True), primary_key=True)store_id = Field(Integer(unsigned=True), primary_key=True)order_url = Field(String(256))status = Field(String(32))created = Field(DateTime)modified = Field(DateTime)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class FlipkartOrders(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True))email = Field(String(128))subtagId= Field(String(32))identifier = Field(String(32))catalogId = Field(Integer)title = Field(String(512))brand = Field(String(64))model = Field(String(64))status = Field(String(16))price = Field(Float)category = Field(String(16))quantity = Field(SmallInteger)created = Field(DateTime)payOut = Field(Integer)payOutPercentage = Field(SmallInteger)affiliateOrderItemId = Field(String(20))using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class OrdersRaw(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True), primary_key=True)store_id = Field(Integer(unsigned=True), primary_key=True)order_url = Field(String(256))sub_tag = Field(String(32))rawhtml = Field(LONGTEXT)status = Field(String(32))created = Field(DateTime)modified = Field(DateTime)using_options(tablename="orders")using_table_options(useexisting=True,mysql_engine="InnoDB")class Retailers(Entity):id = Field(Integer(unsigned=True), primary_key=True)identifier = Field(String(128))title = Field(String(256))address = Field(String(512))address_new = Field(String(512))agent_id=Field(Integer(unsigned=True))contact1 = Field(String(10))contact2 = Field(String(10))pin = Field(String(6))cod_limit = Field(Integer(10))city = Field(String(64))state = Field(String(48))status = Field(String(20))is_elavated = Field(Boolean)retry_count = Field(Integer(3))invalid_retry_count = Field(Integer(3))call_priority = Field(Enum('user_initiated', 'system_initiated'))next_call_time = Field(DateTime)is_std = Field(Boolean)is_or = Field(Boolean)created = Field(DateTime, default=func.now())disposition = Field(String(32))isvalidated = Field(Boolean)tinnumber = Field(String(11))source = Field(Enum('justdial', 'inbound','outbound'))comments = Field(String(256))modified = Field(DateTime, default=func.now(), onupdate=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class RetailerAddresses(Entity):id = Field(Integer(unsigned=True), primary_key=True)retailer_id = Field(Integer(unsigned=True))title = Field(String(128))agent_id=Field(Integer(unsigned=True))address = Field(String(512))city = Field(String(64))state = Field(String(48))pin = Field(String(6))created = Field(DateTime,default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class DailySourcewiseOrderInfo(Entity):id = Field(Integer(unsigned=True), primary_key=True)source = Field(Integer(2))order_count = Field(Integer(4))quantity_count = Field(Integer(4))sale_amount = Field(Integer(10))created = Field(DateTime)modified = Field(DateTime, default=func.now(), onupdate=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class AlreadyCalledNumbers(Entity):id = Field(Integer(unsigned=True), primary_key=True)mobile_number = Field(String(10), unique=True)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class Pincodeavailability(Entity):code = Field(String(6), unique=True)amount = Field(Integer(11))using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class RetailerContacts(Entity):id = Field(Integer(unsigned=True), primary_key=True)retailer_id = Field(Integer(unsigned=True))agent_id = Field(Integer(unsigned=True))mobile_number = Field(String(10))contact_type = Field(Enum('sms', 'called', 'ringing'))call_type = Field(String(10))created = Field(DateTime,default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class CallHistory(Entity):id = Field(Integer(unsigned=True), primary_key=True)retailer_id = Field(Integer(unsigned=True))agent_id = Field(Integer(unsigned=True))mobile_number = Field(String(10))call_type = Field(String(10))sms_verified = Field(Boolean)call_time = Field(DateTime)duration_sec = Field(Integer)last_fetch_time = Field(DateTime)call_disposition = Field(Enum('call_later','ringing_no_answer', 'not_reachable', 'switch_off', 'invalid_no', 'wrong_no', 'hang_up','retailer_not_interested', 'alreadyuser', 'verified_link_sent', 'onboarded'))disposition_description = Field(String(192))disposition_comments = Field(String(192))created = Field(DateTime,default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class RetryConfig(Entity):call_type = Field(Enum('fresh', 'followup', 'onboarding','default'))disposition_type = Field(Enum('ringing_no_answer', 'not_reachable'))retry_count = Field(Integer(unsigned=True))minutes_ahead = Field(Integer(unsigned=True))using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class RetailerLinks(Entity):id = Field(Integer(unsigned=True), primary_key=True)retailer_id = Field(Integer(unsigned=True), unique=True)agent_id = Field(Integer(unsigned=True))code = Field(String(10), unique=True)mapped_with = Field(String(256))activated = Field(DateTime,onupdate=func.now())user_id = Field(Integer(unsigned=True))created = Field(DateTime,default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class Activation_Codes(Entity):status = Field(Boolean,default=True, server_default='1')code = Field(String(10))created = Field(DateTime, default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class Agents(Entity):id = Field(Integer(unsigned=True), primary_key=True)name = Field(String(64))email = Field(String(100))password = Field(String(64))type = Field(Enum('crm','fos'))last_login = Field(DateTime)login_type = Field(String(10))created = Field(DateTime, default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class Agent_Roles(Entity):id = Field(Integer(unsigned=True), primary_key=True)agent_id = Field(Integer(unsigned=True))role = Field(Enum('fresh','followup','onboarding'))created = Field(DateTime, default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class AgentLoginTimings(Entity):id = Field(Integer(unsigned=True), primary_key=True)agent_id = Field(Integer(unsigned=True))role = Field(Enum('fresh','followup','onboarding'))loginTime = Field(DateTime)logoutTime = Field(DateTime)created = Field(DateTime, default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class Clicks(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True))tag = Field(String(20))created = Field(DateTime, default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class FetchDataHistory(Entity):id = Field(Integer(unsigned=True), primary_key=True)retailer_id = Field(Integer(unsigned=True))agent_id = Field(Integer(unsigned=True))call_type = Field(String(10))last_action = Field(Enum('login','disposition'))last_action_time = Field(DateTime)created = Field(DateTime,default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class Pushnotifications(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True))notification_campaign_id = Field(Integer(unsigned=True))type = Field(String(16))status = Field(Boolean)message = Field(String(64))response_time = Field(DateTime)created = Field(DateTime)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class MerchantSubOrders(Entity):orderId = Field(Integer, primary_key= True, autoincrement=False)merchantOrderId = Field(String(30), primary_key=True)merchantSubOrderId = Field(String(50), primary_key=True)storeId = Field(Integer)userId = Field(Integer)productCode = Field(String(50))brand = Field(String(30))productName = Field(String(50))categoryId = Field(Integer)amountPaid = Field(Float)quantity = Field(Integer)unitPrice = Field(Float)status = Field(String(30))createdTime = Field(DateTime)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class paytm_coupons(Entity):id = Field(Integer, primary_key= True)coupon = Field(String(64))offer_text = Field(String(256))min_cart_amount = Field(Integer)cart_item_limit = Field(Integer)max_cashback_amount = Field(Integer)usage_limit = Field(Integer)cod_available = Field(Integer)valid_upto = Field(DateTime)cashback_type = Enum(CASHBACK_AMOUNT, CASHBACK_PERCENTAGE)created = Field(DateTime,default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class paytm_coupon_usages(Entity):id = Field(Integer, primary_key= True)user_id = Field(Integer)order_id = Field(Integer)coupon = Field(String(64))cashback = Field(Integer)created = Field(DateTime,default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class paytm_coupon_non_usages(Entity):id = Field(Integer, primary_key= True)user_id = Field(Integer)order_id = Field(Integer)created = Field(DateTime,default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class NotificationViews(Entity):id = Field(Integer, primary_key= True)user_id = Field(Integer(unsigned=True))notification_rule_id = Field(Integer(unsigned=True))created = Field(DateTime)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class MissingAmazonOrderUsers(Entity):user_id = Field(Integer, primary_key= True)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class PendingToTrackAmazonOrderUsers(Entity):user_id = Field(Integer, primary_key= True)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class User_addresses(Entity):id = Field(Integer, primary_key= True)user_id = Field(Integer(unsigned=True))store_name = Field(String(128))address = Field(String(256))city = Field(String(64))pincode = Field(String(6))state = Field(String(48))using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class All_user_addresses(Entity):id = Field(Integer, primary_key= True)user_id = Field(Integer(unsigned=True))address = Field(String(256))store_name = Field(String(128))city = Field(String(64))pincode = Field(String(6))state = Field(String(48))source = Field(Enum('retailer_crm_edited', 'retailer_master', 'fos_crm', 'user_profile'))created = Field(DateTime,default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class user_filters(Entity):id = Field(Integer, primary_key= True)user_id = Field(Integer(unsigned=True))type=Field(Enum('clear','brand'))filters = Field(String(256))created = Field(DateTime,default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class app_offers(Entity):id = Field(Integer, primary_key=True)affiliate_id = Field(Integer)affiliate_offer_id = Field(String(256))offer_price = Field(Float)user_payout = Field(Float)override_payout = Field(Boolean)overriden_payout = Field(Float)app_name = Field(String(256))package_name = Field(String(256))image_url = Field(String(256))description = Field(Text)shortDescription = Field(Text)finalShortDescription = Field(Text)longDescription = Field(Text)finalLongDescription = Field(Text)link = Field(String(256))offer_active = Field(Boolean)priority = Field(String(256))show = Field(Boolean)offerCategory = Field(String(256))promoImage = Field(String(256))ratings = Field(Float)downloads = Field(String(100))appmaster_id = Field(Integer)offerCondition = Field(Text)location = Field(String(1024))using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class app_affiliates(Entity):id = Field(Integer, primary_key=True)name = Field(String(256))isActive = Field(Boolean)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class appmasters(Entity):id = Field(Integer, primary_key=True, autoincrement=True)app_name = Field(String(256))package_name = Field(String(256))os_name = Field(Enum('ANDROID', 'IOS', 'WINDOWS'))shortDescription = Field(Text)longDescription = Field(Text)customerOneLiner = Field(String(512))retailerOneLiner = Field(String(512))showApp = Field(Boolean)rank = Field(Integer)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class approved_app_transactions(Entity):id = Field(Integer, primary_key=True, autoincrement=True)app_id = Field(Integer)retailer_id = Field(Integer)transaction_id = Field(String(100))transaction_time = Field(DateTime)redirect_url = Field(String(256))payout_status = Field(Integer)payout_description = Field(String(100))cashback_status = Field(Integer)cash_back_description = Field(String(100))payout_amount = Field(Integer)payout_time = Field(DateTime)offer_price = Field(Integer)overridenCashBack = Field(Integer)isCashBackOverriden = Field(Boolean)user_payout = Field(Integer)cashBackConsidered = Field(Boolean)final_user_payout = Field(Integer)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class user_app_cashbacks(Entity):user_id = Field(Integer)status = Field(String(30))amount = Field(Integer)fortnightOfYear = Field(Integer)yearVal = Field(Integer)batchCreditId = Field(Integer)creditedDate = Field(Date)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class user_app_installs(Entity):user_id = Field(Integer)fortnightOfYear = Field(Integer)transaction_date = Field(Date)app_id = Field(Integer)app_name = Field(String(256))installCount = Field(Integer)payoutAmount = Field(Integer)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class total_app_installs(Entity):app_id = Field(Integer)app_name = Field(String(256))date = Field(Date)totalPayoutAmount = Field(Integer)totalOfferAmount = Field(Integer)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class app_transactions(Entity):transaction_id=Field(String(256))retailer_id = Field(Integer)app_id = Field(Integer)app_name = Field(String(256))cashback_status= Field(Integer)redirect_url = Field(String(256))cash_back_description = Field(String(256))payout_status = Field(Integer)overridenCashBack = Field(Integer)isCashBackOverriden=Field(Boolean)transaction_time = Field(DateTime)payout_time = Field(DateTime)offer_price=Field(Float, default=0.0, server_default="0.0")payout_amount=Field(Float, default=0.0, server_default="0.0")user_payout = Field(Float, default=0.0, server_default="0.0")payout_description = Field(String(256))final_user_payout = Field(Integer)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class notification_campaigns(Entity):id = Field(Integer, primary_key=True, autoincrement=True)name = Field(String(32))title = Field(String(32))message = Field(String(512))type = Field(Enum('url','native','update'))url = Field(String(512))sql = Field(String(512))expiresat = Field(DateTime)status = Field(Enum('active','inactive'))created = Field(DateTime)sendsms = Field(Boolean)messagetext = Field(String(512))smsprocessed = Field(Boolean)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class mobileappsettings(Entity):id = Field(Integer, primary_key=True, autoincrement=True)setting = Field(String(64))value = Field(String(512))created = Field(DateTime)modified= Field(DateTime)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class UserCrmCallingData(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True))name = Field(String(128))agent_id=Field(Integer(unsigned=True))project_id=Field(Integer(unsigned=True))user_available = Field(Integer(unsigned=True))contact1 = Field(String(10))pincode_servicable = Field(Boolean)status = Field(String(20))retry_count = Field(Integer(3))invalid_retry_count = Field(Integer(3))next_call_time = Field(DateTime)counter = Field(Integer(unsigned=True))disposition = Field(String(32))created = Field(DateTime, default=func.now())modified = Field(DateTime, default=func.now(), onupdate=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class CallHistoryCrm(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True))agent_id = Field(Integer(unsigned=True))project_id = Field(Integer(unsigned=True))mobile_number = Field(String(10))call_time = Field(DateTime)duration_sec = Field(Integer)call_disposition = Field(Enum('call_later','ringing_no_answer', 'not_reachable', 'switch_off', 'technical_issue', 'pricing_issue', 'shipping_issue','internet_issue','checking_price', 'order_process', 'placed_order','place_order','product_availability','return_replacement','already_purchased','product_quality_issue','delayed_delivery','other_complaint','not_dealing_accessories'))disposition_description = Field(String(192))disposition_comments = Field(String(192))created = Field(DateTime,default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class ProductPricingInputs(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True))disposition_id = Field(Integer(unsigned=True))call_disposition = Field(Enum('call_later','technical_issue', 'pricing_issue', 'shipping_issue','internet_issue','checking_price', 'order_process', 'placed_order','place_order'))agent_id = Field(Integer(unsigned=True))project_id = Field(Integer(unsigned=True))product_input = Field (String(256))pricing_input = Field(Float)created = Field(DateTime,default=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class user_accounts(Entity):id = Field(Integer(unsigned=True), primary_key=True)user_id = Field(Integer(unsigned=True))account_type = Field(Enum('saholic','gcm_regid','cartId'))account_key = Field(String(128))using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class tinxys_stats(Entity):id = Field(Integer(unsigned=True), primary_key=True)req_date = Field(Date, unique=True, default=func.curdate())total = Field(Integer, default=0)request_failed = Field(Integer, default=0)invalid_tin = Field(Integer, default=0)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")class profitmandi_sms(Entity):id = Field(Integer(unsigned=True), primary_key=True)mobile_number = Field(String(10))identifier = Field(Integer(unsigned=True))sms_type = Field(Enum('code'))sms_id = Field(String(128))status = Field(String(512))created = Field(DateTime, default=func.now())modified = Field(DateTime, default=func.now(), onupdate=func.now())using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")def initialize(dbname='dtr', db_hostname="localhost", echo=True, setup=True):#metadata.bind = "sqlite:///inventory-new.sqlite" #need to read it from configserver.#metadata.bind = 'mysql://root:shop2020@localhost/catalog'cengine = create_engine('mysql://root:shop2020@' + db_hostname + '/' + dbname, pool_recycle=7200)metadata.bind = cenginemetadata.bind.echo = echosetup_all(setup)if __name__=="__main__":initialize()