उत्पादन --autogenerate मैं पहली बार के लिए Alembic
उपयोग करने के लिए कोशिश कर रहा हूँ और --autogenerate
सुविधा वर्णित hereभबका खाली प्रवास
मेरे परियोजना संरचना लग रहा है का उपयोग करना चाहते
तरहproject/
configuration/
__init__.py
dev.py
test.py
core/
app/
models/
__init__.py
user.py
db/
alembic/
versions/
env.py
alembic.ini
मैं Flask
और SQLAlchemy
उपयोग कर रहा हूँ और उनके Flask-SQLAlchemy
एक्सटेंशन। अपने मॉडल User
लगता है कि
class User(UserMixin, db.Model):
__tablename__ = 'users'
# noinspection PyShadowingBuiltins
uuid = Column('uuid', GUID(), default=uuid.uuid4, primary_key=True,
unique=True)
email = Column('email', String, nullable=False, unique=True)
_password = Column('password', String, nullable=False)
created_on = Column('created_on', sa.types.DateTime(timezone=True),
default=datetime.utcnow())
last_login = Column('last_login', sa.types.DateTime(timezone=True),
onupdate=datetime.utcnow())
के रूप में वर्णित here, मैं env.py
संशोधित
from configuration import app
alembic_config = config.get_section(config.config_ini_section)
alembic_config['sqlalchemy.url'] = app.config['SQLALCHEMY_DATABASE_URI']
engine = engine_from_config(
alembic_config,
prefix='sqlalchemy.',
poolclass=pool.NullPool)
और
from configuration import db
target_metadata = db.metadata
जहां configuration.__init__py
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
import dev
app = Flask(__name__)
app.config.from_envvar('SETTINGS_PT')
db = SQLAlchemy(app)
तरह लग रहा है की तरह लग रहे करने के लिए 63,210
अब जब मैं प्रवास
$alembic revision --autogenerate -m "Added user table"
INFO [alembic.migration] Context impl PostgresqlImpl.
INFO [alembic.migration] Will assume transactional DDL.
Generating /Users/me/IdeaProjects/project/db/alembic/versions/55a9d5
35d8ae_added_user_table.py...done
चलाने लेकिन फाइल alembic/versions/55a9d5
खाली upgrade()
और downgrade()
तरीकों
"""Added user table
Revision ID: 1b62a62eef0d
Revises: None
Create Date: 2013-03-27 06:37:08.314177
"""
# revision identifiers, used by Alembic.
revision = '1b62a62eef0d'
down_revision = None
from alembic import op
import sqlalchemy as sa
def upgrade():
### commands auto generated by Alembic - please adjust! ###
pass
### end Alembic commands ###
def downgrade():
### commands auto generated by Alembic - please adjust! ###
pass
### end Alembic commands ###
कैसे आ इसे समझने के लिए एक नया User
मॉडल है कि वहाँ में सक्षम नहीं है है? कृपया मदद
आपके एलेम्बिक env.py को यह सुनिश्चित करना है कि उसने उस उपयोगकर्ता मॉडल को आयात किया है ताकि तालिका माइग्रेशन चलने पर स्मृति में मौजूद हो। – zzzeek
वह था!आपकी मदद के लिए बहुत बहुत धन्यवाद माइकल – daydreamer
उपयोगी हो सकता है: यदि कॉलम अपडेट करने के बाद उत्पन्न खाली माइग्रेशन, तो यह उत्तर देखें http://stackoverflow.com/a/17176843/1339254 – alexche8