Flask Migrate


1. Database Migration Management

from flask_migrate import Migrate, MigrateCommand
from flask_script import Manager

app = Flask(__name__)
migrate = Migrate(app, db, compare_type=True)
manager = Manager(app)
manager.add_command('db', MigrateCommand)

2. Schema Revision

from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()
migrate = Migrate(db=db, app=app)

3. Custom Query Migration

from flask_migrate import Migrate
from sqlalchemy import text

migrate = Migrate(compare_type=True)
migrate.init_app(app, db)

@migrate.version(revision='v1.1')
def custom_query():
    db.engine.execute(text("CREATE TABLE my_table (col_int INT, col_string TEXT)"))

4. Auto-Generate Revision

5. Declarative Migration

6. Database Upgrade

7. Database Downgrade

8. Database Revisions

9. Manual Migrations

10. Create Migration

11. Database Stamp

12. Add Column

13. Drop Column

14. Alter Column

15. Rename Table

16. Create Index

17. Drop Index

18. Create Foreign Key

19. Drop Foreign Key

20. Create Unique Constraint

21. Drop Unique Constraint

22. Create Check Constraint

23. Drop Check Constraint

24. Merge Revisions

25. Split Revisions

26. Custom Down Revision

27. Batch Operations

28. Command-Line Script

29. Upgrade to Latest Revision

30. Downgrade to Specific Revision

31. Create Snapshot

32. Compare Revisions

33. Set/Get Migration Context

34. Custom Command

35. Event Hooks

36. Environment Configuration