tedt.md 1.72 KB

Penggunaan Alembic

  1. Masuk ke folder module yang akan diinstall

    Jalankan perintah berikut ini pada terminal:

    $ alembic init alembic
    $ cd alembic
    
  2. Edit file env.py

    Ubah baris 23

    # target_metadata = None
    from opensipkd.base.models import Base
    target_metadata = Base.metadata
    version_table = "alembic_pasar_version" # gunakan sesuai dengan dama module biar gak tumpang tindih
    
  3. copy alembic.ini.tpl ke folder alembic menjadi alembic.ini:

    cp ../alembic.ini.tpl alembic.ini
    
  4. edit alembic.ini

    sqlalchemy.url = {{db_url}} 
    sqlalchemy.url = dengan url yang akan digunakan
    
    
  5. Untuk membuat file revisi:

    alembic -c alembic\alembic.ini revision -m "add modules in produk_category"
    

    Output:

    Generating C:\project\apps3\pasar\models\alembic\versions\dee47015bc2e_add_modules_in_produk_category.py ... done
    
  6. Edit file revisi tersebut ubah pada bagian upgrade

    def upgrade():
        op.add_column('produk_kategori', sa.Column('moduels', sa.String(64)))
    
    def downgrade():
        op.drop_column('produk_kategori', sa.Column('moduels', sa.String(64)))
    
  7. Run migrastion

    alembic -c alembic\alembic.ini upgrade head
    

Catatan:

Jenis operasi standard
```python
def upgrade():
    op.create_table(
        'account',
        sa.Column('id', sa.Integer, primary_key=True),
        sa.Column('name', sa.String(50), nullable=False),
        sa.Column('description', sa.Unicode(200)),
    )

def downgrade():
    op.drop_table('account')

```