Yep. Thank you. It works fine now. 

On Friday, 28 February 2020 20:21:42 UTC+5:30, Mike Bayer wrote:
>
>
>
> On Fri, Feb 28, 2020, at 6:04 AM, Nishant Singh wrote:
>
> Hi, 
>
> I am trying to create partition on sql using sqlalchemy. I am using the 
> declarative system. So as we have the following code in simple sql 
>
>
> CREATE TABLE employees (
>     id INT NOT NULL,
>     fname VARCHAR(30),
>     lname VARCHAR(30)
>     job_code INT NOT NULL,
>     store_id INT NOT NULL)
> PARTITION BY RANGE (store_id) (
>     PARTITION p0 VALUES LESS THAN (6),
>     PARTITION p1 VALUES LESS THAN (11),
>     PARTITION p2 VALUES LESS THAN (16),
>     PARTITION p3 VALUES LESS THAN MAXVALUE);
>
> I am trying to write an equivalent code for my class :
>
>
>
>
> the MySQL dialect supports all table suffixes natively, so there is no 
> need for a custom recipe.
>
>
> https://docs.sqlalchemy.org/en/13/dialects/mysql.html#create-table-arguments-including-storage-engines
>
> class A(Base):
>     __tablename__ = "a"
>
>     id = Column(Integer, primary_key=True)
>     store_id = Column(Integer)
>
>     __table_args__ = {
>         "mysql_engine": "InnoDB",
>         "mysql_partition_by": """
> RANGE (store_id) (
>     PARTITION p0 VALUES LESS THAN (6),
>     PARTITION p1 VALUES LESS THAN (11),
>     PARTITION p2 VALUES LESS THAN (16),
>     PARTITION p3 VALUES LESS THAN MAXVALUE );
> """,
>     }
>
>
>
>
>
>
>
>
>
>
> class Employee(Base):
>       __tablename__ = "employee"
>       __table_args__ = {'mysql_engine': 'InnoDB'}
>
>       emp_id = Column(Integer, nullable=False)
>       fname = Column(String,  nullable=False)
>       lname = Column(String,  nullable=False)
>       job_code = Column(Integer, nullable=False)
>       store_id = Column(Integer, nullable=False)
>
>
> I referred to 
> https://groups.google.com/forum/#!searchin/sqlalchemy/Partition$20by$20oracle%7Csort:date/sqlalchemy/qCQFD2LNyTQ/5WyRUP9oBwAJ
>  , but sort of wrote something similer for my actual class below: 
>
>
> class VeryRandom(Base):
>     __tablename__ = "lil_cool_data"
>
>     __table_args__ = {
>         'info': {
>             'mysql_partition': """
>                  PARTITION BY RANGE(min)
>                  (PARTITION p1 VALUES LESS THAN (6),
>                   PARTITION p2 VALUES LESS THAN (10),
>                   PARTITION p3 VALUES LESS THAN (20),
>                   PARTITION p4 VALUES LESS THAN (MAXVALUE)
>                   )
>              """
>         }
>     }
>     starttime = Column(DateTime, nullable=False)
>     min = Column(COL_INTEGER, nullable=False, primary_key=True)
>     random5 = Column(COL_INTEGER, nullable=False)
>     random4 = Column(Enum('stale', 'fresh'), nullable=False)
>     random3 = Column(COL_INTEGER, nullable=False)
>     random2 = Column(COL_INTEGER, nullable=False)
>     random1 = Column(Boolean, nullable=False, default=False)
>
> But this does not create partion for me. What am i doing wrong ? 
>
>
> --
> SQLAlchemy - 
> The Python SQL Toolkit and Object Relational Mapper
>  
> http://www.sqlalchemy.org/
>  
> To post example code, please provide an MCVE: Minimal, Complete, and 
> Verifiable Example. See http://stackoverflow.com/help/mcve for a full 
> description.
> --- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sqlalchemy/0f9167bd-b766-48b6-a788-e86b18a729c5%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/sqlalchemy/0f9167bd-b766-48b6-a788-e86b18a729c5%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy/31eb01da-f620-4e79-8383-a93eeb23b501%40googlegroups.com.

Reply via email to