Rev 14039 | Rev 14826 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
from elixir import metadata, setup_allfrom elixir.entity import Entityfrom elixir.fields import Fieldfrom elixir.options import using_options, using_table_optionsfrom sqlalchemy import create_enginefrom sqlalchemy.types import Integer, String, DateTime, Float, Boolean, Enumclass 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))group_id = Field(Integer(unsigned=True), default=1, server_default='1')status = Field(Boolean, default=True, server_default='1')created = Field(DateTime)modified = Field(DateTime)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)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")def initialize(dbname='dtr', db_hostname="localhost"):#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 = Truesetup_all(True)if __name__=="__main__":initialize()