Przeglądaj źródła

Replace player id with biginteger

JoostSijm 5 lat temu
rodzic
commit
06470520d5

+ 8 - 8
app/models.py

@@ -2,7 +2,7 @@
 
 import datetime
 
-from sqlalchemy import MetaData, Column, ForeignKey, Integer, String, SmallInteger, DateTime, Table
+from sqlalchemy import MetaData, Column, ForeignKey, Integer, String, SmallInteger, DateTime, Table, BigInteger
 from sqlalchemy.orm import relationship, backref
 from sqlalchemy.ext.declarative import declarative_base
 
@@ -119,7 +119,7 @@ class DepartmentStat(Base):
     date_time = Column(DateTime)
     points = Column(SmallInteger)
 
-    player_id = Column(Integer, ForeignKey('player.id'))
+    player_id = Column(BigInteger, ForeignKey('player.id'))
     player = relationship(
         'Player',
         backref=backref('department_stats', lazy='dynamic')
@@ -135,7 +135,7 @@ class DepartmentStat(Base):
 player_party = Table(
     'player_party',
     Base.metadata,
-    Column('player_id', Integer, ForeignKey('player.id')),
+    Column('player_id', BigInteger, ForeignKey('player.id')),
     Column('party_id', Integer, ForeignKey('party.id')),
     Column('from_date_time', DateTime),
     Column('until_date_time', DateTime),
@@ -144,7 +144,7 @@ player_party = Table(
 player_residency = Table(
     'player_residency',
     Base.metadata,
-    Column('player_id', Integer, ForeignKey('player.id')),
+    Column('player_id', BigInteger, ForeignKey('player.id')),
     Column('region_id', Integer, ForeignKey('region.id')),
     Column('from_date_time', DateTime),
     Column('until_date_time', DateTime),
@@ -153,7 +153,7 @@ player_residency = Table(
 player_location = Table(
     'player_location',
     Base.metadata,
-    Column('player_id', Integer, ForeignKey('player.id')),
+    Column('player_id', BigInteger, ForeignKey('player.id')),
     Column('region_id', Integer, ForeignKey('region.id')),
     Column('from_date_time', DateTime),
     Column('until_date_time', DateTime),
@@ -162,7 +162,7 @@ player_location = Table(
 class Player(Base):
     """Model for player"""
     __tablename__ = 'player'
-    id = Column(Integer, primary_key=True)
+    id = Column(BigInteger, primary_key=True)
     name = Column(String)
     nation = Column(String)
     residencies = relationship('Region', secondary=player_residency)
@@ -217,7 +217,7 @@ class MilitaryAcademy(Base):
     __tablename__ = 'military_academy'
     id = Column(Integer, primary_key=True)
     date_time = Column(DateTime)
-    player_id = Column(Integer, ForeignKey('player.id'))
+    player_id = Column(BigInteger, ForeignKey('player.id'))
     player = relationship(
         'User',
         backref=backref('military_academies', lazy='dynamic')
@@ -236,7 +236,7 @@ class Factory(Base):
     id = Column(Integer, primary_key=True)
     name = Column(String)
 
-    player_id = Column(Integer, ForeignKey('player.id'))
+    player_id = Column(BigInteger, ForeignKey('player.id'))
     player = relationship(
         'User',
         backref=backref('factories', lazy='dynamic')

+ 80 - 0
migrations/versions/96951df04b3b_player_id_to_biginteger.py

@@ -0,0 +1,80 @@
+"""player id to biginteger
+
+Revision ID: 96951df04b3b
+Revises: 82a809b72bf3
+Create Date: 2019-09-04 13:09:22.495778
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = '96951df04b3b'
+down_revision = '82a809b72bf3'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+    op.alter_column('department_stat', 'player_id',
+               existing_type=sa.INTEGER(),
+               type_=sa.BigInteger(),
+               existing_nullable=True)
+    op.alter_column('factory', 'player_id',
+               existing_type=sa.INTEGER(),
+               type_=sa.BigInteger(),
+               existing_nullable=True)
+    op.alter_column('military_academy', 'player_id',
+               existing_type=sa.INTEGER(),
+               type_=sa.BigInteger(),
+               existing_nullable=True)
+    op.alter_column('player', 'id',
+               existing_type=sa.INTEGER(),
+               type_=sa.BigInteger(),
+               autoincrement=True,
+               existing_server_default=sa.text("nextval('player_id_seq'::regclass)"))
+    op.alter_column('player_location', 'player_id',
+               existing_type=sa.INTEGER(),
+               type_=sa.BigInteger(),
+               existing_nullable=True)
+    op.alter_column('player_party', 'player_id',
+               existing_type=sa.INTEGER(),
+               type_=sa.BigInteger(),
+               existing_nullable=True)
+    op.alter_column('player_residency', 'player_id',
+               existing_type=sa.INTEGER(),
+               type_=sa.BigInteger(),
+               existing_nullable=True)
+
+
+def downgrade():
+    op.alter_column('player_residency', 'player_id',
+               existing_type=sa.BigInteger(),
+               type_=sa.INTEGER(),
+               existing_nullable=True)
+    op.alter_column('player_party', 'player_id',
+               existing_type=sa.BigInteger(),
+               type_=sa.INTEGER(),
+               existing_nullable=True)
+    op.alter_column('player_location', 'player_id',
+               existing_type=sa.BigInteger(),
+               type_=sa.INTEGER(),
+               existing_nullable=True)
+    op.alter_column('player', 'id',
+               existing_type=sa.BigInteger(),
+               type_=sa.INTEGER(),
+               autoincrement=True,
+               existing_server_default=sa.text("nextval('player_id_seq'::regclass)"))
+    op.alter_column('military_academy', 'player_id',
+               existing_type=sa.BigInteger(),
+               type_=sa.INTEGER(),
+               existing_nullable=True)
+    op.alter_column('factory', 'player_id',
+               existing_type=sa.BigInteger(),
+               type_=sa.INTEGER(),
+               existing_nullable=True)
+    op.alter_column('department_stat', 'player_id',
+               existing_type=sa.BigInteger(),
+               type_=sa.INTEGER(),
+               existing_nullable=True)