Alembic beginner here。私は既に作成されたテーブルを削除しようとするAlembicにいくつかの問題があります。私は何が起こっているのか分かりません。私はalembic upgrade head
を実行した場合、私は私の結果としてこれを取得テーブルを削除しようとしているAlembic
:
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
私はalembic history
を実行した場合、私はこの結果を取得するには、どの今私はこのようになりますデータベースを持っています
c2659db918a9 -> 765c30f7078c (head), creat table views
c4a0cac54f89 -> c2659db918a9, Made last_update not null for all tables
19dd9f3d1d16 -> c4a0cac54f89, Added last_update field defaulted to now
77c03ebb393b -> 19dd9f3d1d16, Added indexes to each table
0737825277d8 -> 77c03ebb393b, Change foreign key columns to non-nullable
5eb3c5f7f599 -> 0737825277d8, Rename a column in daily_etf_underlying table
0da0b2a43172 -> 5eb3c5f7f599, Add extra_info column to daily_etf_underlying
c181fe8bcfa9 -> 0da0b2a43172, Make daily_etf id columns nullable
8fba2675104b -> c181fe8bcfa9, added fixing table
074563d69c3b -> 8fba2675104b, Modify daily_etf tables
2c9de57e43f0 -> 074563d69c3b, Add fund_family columns
80de6fb0a104 -> 2c9de57e43f0, Modify daily_etf table
a970af9bb117 -> 80de6fb0a104, Add daily_etf_basket, daily_etf_fx_forward tables
<base> -> a970af9bb117, Add daily_etf table
しかし、私はalembic revision --autogenerate -m "<>"
を実行した場合、私はこれを取得:正しいです!
alembic revision --autogenerate -m "Raw fidessa client trade table"
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
INFO [alembic.ddl.postgresql] Detected sequence named 'daily_etf_fx_forward_id_seq' as owned by integer column 'daily_etf_fx_forward(id)', assuming SERIAL and omitting
INFO [alembic.autogenerate.compare] Detected removed table 'daily_etf_fx_forward'
INFO [alembic.autogenerate.compare] Detected removed table 'daily_etf'
INFO [alembic.ddl.postgresql] Detected sequence named 'daily_fx_fixing_rate_id_seq' as owned by integer column 'daily_fx_fixing_rate(id)', assuming SERIAL and omitting
INFO [alembic.autogenerate.compare] Detected removed table 'daily_fx_fixing_rate'
INFO [alembic.ddl.postgresql] Detected sequence named 'daily_etf_underlying_id_seq' as owned by integer column 'daily_etf_underlying(id)', assuming SERIAL and omitting
INFO [alembic.autogenerate.compare] Detected removed table 'daily_etf_underlying'
Generating C:\dev\Projects\stark_database\stark_database\migrations\versions\86174c06e59e_raw_fidessa_client_trade_table.py ... done
そして、私の自動生成されたファイルには、ちょうど私のすべてのテーブルを削除しようとしている:(
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('daily_fx_fixing_rate')
op.drop_table('daily_etf_underlying')
op.drop_table('daily_etf')
op.drop_table('daily_etf_fx_forward')
# ### end Alembic commands ###
ここで何が起こっているか?なぜアレンビックはすべてを削除しようとしている?あなたの助けのための
感謝を。
EDIT:alembic.ini
:
[alembic]
script_location = migrations
sqlalchemy.url = postgresql://stark_admin:[email protected]/stark
env.py
は、私は考え出しalembic init alembic
どのようにあなたのテーブルのメタデータとalembic構成ですか? –
編集を参照してください。ありがとうございましたIlja – coolboyjules
あなたのテーブルメタデータを指すようにenv.pyの 'target_metadata = None'を置き換えましたか? –