Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Flask-Migrate: Pindahkan pangkalan data menggunakan Python

Flask-Migrate: Pindahkan pangkalan data menggunakan Python

王林
王林asal
2023-06-17 10:04:412184semak imbas

Flask-Migrate: Gunakan Python untuk memindahkan pangkalan data

Dengan pembangunan berterusan pembangunan web, kepentingan pangkalan data telah menjadi semakin menonjol. Semasa proses pembangunan, kami perlu mengubah suai dan memindahkan data. Walau bagaimanapun, jika anda mengubah suai terus pada pangkalan data, ia mungkin membawa risiko yang tidak dapat diramalkan. Pada masa ini, Flask-Migrate telah wujud. Dalam artikel ini, kami akan memberi tumpuan kepada penggunaan Flask-Migrate dan cara memindahkan pangkalan data melalui Python.

Pengenalan kepada Flask-Migrate

Flask-Migrate ialah rangka kerja pemindahan pangkalan data yang digunakan bersama dengan rangka kerja Flask. Ia menyediakan cara mudah untuk versi dan memindahkan pangkalan data. Ia membolehkan kami membuat pengubahsuaian pada pangkalan data tanpa memadam sebarang data, yang bermaksud kami tidak perlu risau tentang kehilangan data atau ketidakserasian. Pada masa yang sama, Flask-Migrate juga menyokong pelbagai pangkalan data, termasuk SQLite, MySQL dan PostgreSQL.

Pemasangan Flask-Migrate

Sebelum kita mula menggunakan Flask-Migrate, kita perlu memasangnya terlebih dahulu. Flask-Migrate boleh dipasang dengan mudah menggunakan arahan pip:

pip install Flask-Migrate

Selepas pemasangan selesai, kita boleh mula menggunakan Flask-Migrate.

Penggunaan Flask-Migrate

Sebelum menggunakan Flask-Migrate, kita perlu memulakan aplikasi Flask. Di sini, kami menggunakan program Flask mudah sebagai contoh:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)

    def __init__(self, username, email):
        self.username = username
        self.email = email

    def __repr__(self):
        return '<User %r>' % self.username

Kod di atas menggunakan sambungan Flask_sqlalchemy untuk mengkonfigurasi sambungan pangkalan data. Ia mentakrifkan model Pengguna dan sifat berkaitan.

Memulakan pangkalan data

Sebelum meneruskan pemindahan pangkalan data, kita perlu mencipta pangkalan data terlebih dahulu. Dalam Flask, anda boleh menggunakan fungsi db.create_all() untuk mencipta semua model yang ditentukan:

from app import db
db.create_all()

Pada masa ini, pangkalan data SQLite bernama test.db akan dibuat secara automatik dalam pangkalan data dan jadual akan berdasarkan atribut model yang ditakrifkan.

Pindahkan pangkalan data

Berdasarkan pangkalan data yang dimulakan di atas, kami boleh memindahkan pangkalan data. Melaksanakan migrasi pangkalan data memerlukan dua langkah: menjana skrip migrasi dan menggunakan skrip migrasi.

Jana skrip migrasi

Arahan untuk menjana skrip migrasi ialah:

flask db migrate

Selepas melaksanakan arahan ini, Flask-Migrate akan mengesan secara automatik struktur definisi model dan pangkalan data, dan akan mengesan Hasilkan skrip migrasi berdasarkan perbezaan. Pada ketika ini, kita boleh melihat skrip dalam folder migrations/versions dalam folder projek. Skrip ini ialah modul Python yang mengandungi perbezaan antara model semasa dan pangkalan data.

Gunakan skrip migrasi

Selepas menjana skrip migrasi, anda juga perlu menggunakannya pada pangkalan data. Proses ini dipanggil migrasi.

flask db upgrade

Selepas melaksanakan arahan ini, Flask-Migrate akan menaik taraf struktur jadual mengikut skrip pemindahan yang dihasilkan. Pada ketika ini, kita boleh melihat struktur jadual yang diubah dalam pangkalan data.

Ringkasan

Dalam artikel ini, kami memperkenalkan penggunaan asas Flask-Migrate. Dengan Flask-Migrate, kami boleh mengurus struktur jadual pangkalan data dengan mudah. Kelebihannya ialah ia boleh mengekalkan keselamatan dan konsistensi data dengan mudah, dan boleh dibuat versi dengan mudah. Dalam projek sebenar, jika kita perlu mengubah suai dan mengurus pangkalan data, kita boleh memilih untuk menggunakan alat Flask-Migrate.

Atas ialah kandungan terperinci Flask-Migrate: Pindahkan pangkalan data menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn