Alembic คือการโยกย้ายฐานข้อมูลใหม่ยูทิลิตี้ที่เขียนโดยผู้เขียน SQLAlchemy & nbsp; เครื่องมือการโยกย้ายมีฟังก์ชั่นดังต่อไปนี้.:
- สามารถปล่อยงบการเปลี่ยนแปลงไปยังฐานข้อมูลเพื่อที่จะเปลี่ยนโครงสร้างของตารางและโครงสร้างอื่น ๆ
- ให้ระบบโดย "สคริปต์การย้ายถิ่น" อาจจะถูกสร้างขึ้น; แต่ละสคริปต์บ่งชี้ชุดหนึ่งของขั้นตอนที่สามารถ "อัพเกรด" ฐานข้อมูลเป้าหมายเป็นรุ่นใหม่และเลือกที่ชุดของขั้นตอนที่สามารถ "ปรับลด" ในทำนองเดียวกันการทำตามขั้นตอนเดียวกันในสิ่งที่ตรงกันข้าม
- ช่วยให้สคริปที่จะดำเนินการในบางลักษณะที่ต่อเนื่อง
เป้าหมายของการ Alembic คือ:
- การกำหนดค่าและโปร่งใสปลายเปิดมากและการดำเนินงาน สภาพแวดล้อม Alembic ใหม่ถูกสร้างขึ้นจากชุดของแม่แบบที่ถูกเลือกในชุดของตัวเลือกเมื่อการติดตั้งครั้งแรกที่เกิดขึ้น แม่แบบแล้วฝากชุดของสคริปต์ที่กำหนดอย่างเต็มที่วิธีการเชื่อมต่อฐานข้อมูลที่จะจัดตั้งขึ้นและวิธีการย้ายถิ่นสคริปต์ถูกเรียก; สคริปต์การย้ายถิ่นของตัวเองถูกสร้างขึ้นจากแม่แบบที่อยู่ในชุดของสคริปต์ที่ สคริปต์นั้นจะสามารถปรับแต่งเพิ่มเติมเพื่อกำหนดว่าวิธีการที่ฐานข้อมูลจะมีความสัมพันธ์กับโครงสร้างและสิ่งที่การโยกย้ายไฟล์ใหม่ควรใช้
- สนับสนุนอย่างเต็มที่สำหรับการทำธุรกรรม DDL สคริปต์เริ่มต้นให้แน่ใจว่าการโยกย้ายทั้งหมดเกิดขึ้นภายในการทำธุรกรรม - สำหรับฐานข้อมูลผู้ที่สนับสนุนเรื่องนี้ (PostgreSQL, Microsoft SQL Server) การโยกย้ายสามารถทดสอบได้โดยไม่จำเป็นต้องยกเลิกการเปลี่ยนแปลงด้วยตนเองเมื่อเกิดความล้มเหลว
- การก่อสร้างสคริปต์ Minimalist การดำเนินงานขั้นพื้นฐานเช่นการเปลี่ยนชื่อตาราง / คอลัมน์เพิ่ม / ลบคอลัมน์เปลี่ยนคุณลักษณะคอลัมน์สามารถดำเนินการผ่านหนึ่งบรรทัดคำสั่งเช่น alter_column () rename_table () add_constraint () ไม่มีความจำเป็นที่จะสร้าง SQLAlchemy เต็มโครงสร้างตารางสำหรับการดำเนินงานที่เรียบง่ายเช่นนี้ไม่เป็น - ฟังก์ชั่นที่ตัวเองสร้างโครงสร้างสคีเรียบง่ายอยู่เบื้องหลังเพื่อให้บรรลุลำดับ DDL ให้
- "รุ่นอัตโนมัติ" ของการโยกย้าย ในขณะที่การโยกย้ายโลกแห่งความจริงที่อยู่ห่างไกลที่ซับซ้อนมากขึ้นกว่าสิ่งที่สามารถกำหนดได้โดยอัตโนมัติ Alembic ยังสามารถขจัดทำงานแสมเริ่มต้นในการสร้างแนวทางการโยกย้ายใหม่จากสคีเปลี่ยนแปลง คุณลักษณะ --autogenerate จะตรวจสอบสถานะปัจจุบันของฐานข้อมูลโดยใช้ SQLAlchemy ความสามารถในการตรวจสอบคีเปรียบเทียบกับสถานะปัจจุบันของรูปแบบฐานข้อมูลตามที่ระบุไว้ในหลามและสร้างชุดของ "ผู้สมัคร" การโยกย้าย, การแสดงผลให้เป็นการโยกย้ายใหม่ สคริปต์เป็นแนวทางหลาม พัฒนาแล้วแก้ไขไฟล์ใหม่เพิ่มคำสั่งเพิ่มเติมและการโยกย้ายข้อมูลที่จำเป็นในการผลิตการโยกย้ายเสร็จ ตารางและการเปลี่ยนแปลงระดับคอลัมน์สามารถตรวจพบได้ด้วยข้อ จำกัด และดัชนีที่จะปฏิบัติตามเช่นกัน
- สนับสนุนอย่างเต็มที่สำหรับการโยกย้ายสร้างขึ้นเป็นสคริปต์ SQL พวกเราที่ทำงานในสภาพแวดล้อมขององค์กรรู้ว่าเข้าถึงโดยตรงไปยังคำสั่ง DDL ในฐานข้อมูลการผลิตเป็นสิทธิพิเศษที่หายากและ DBAs ต้องการสคริปต์ SQL ต้นฉบับ รูปแบบการใช้งาน Alembic และคำสั่งที่จะเน้นไปที่ความสามารถในการทำงานชุดของการโยกย้ายเป็นไฟล์ที่ส่งออกเป็นข้อความได้อย่างง่ายดายขณะที่มันวิ่งพวกเขาโดยตรงกับฐานข้อมูล ต้องระมัดระวังเป็นพิเศษในโหมดนี้จะไม่ก่อให้เกิดการดำเนินงานอื่น ๆ ที่ขึ้นอยู่กับการเลือกในหน่วยความจำของแถว - Alembic พยายามที่จะสร้างให้ผู้ช่วยเช่น bulk_insert () เพื่อช่วยให้มีการดำเนินงานที่มุ่งเน้นข้อมูลที่เข้ากันได้กับสคริปต์ที่ใช้ DDL
- เวอร์ชันที่ไม่ใช่เชิงเส้น สคริปจะได้รับการระบุ UUID คล้าย ๆ กับ DVCS และการเชื่อมโยงของหนึ่งสคริปต์เพื่อต่อไปคือการประสบความสำเร็จผ่านเครื่องหมายภายในสคริปต์ของตัวเอง ผ่านช่องทางนี้กลไกปลายเปิดสาขาที่มีสคริปต์การย้ายถิ่นอื่น ๆ ที่สามารถผสาน - เชื่อมโยงสามารถแก้ไขได้ด้วยตนเองภายในไฟล์สคริปต์เพื่อสร้างลำดับใหม่
- จัดให้มีห้องสมุดของโครงสร้างการเปลี่ยนแปลงที่สามารถนำมาใช้โดยโปรแกรมใด ๆ SQLAlchemy สร้าง DDL สร้างฐาน DDLElement เอง SQLAlchemy และสามารถนำมาใช้แบบสแตนด์อโลนโดยโปรแกรมใด ๆ หรือสคริปต์
- ไม่ทำลายคอของเรามากกว่าการไร้ความสามารถ SQLite ที่จะเปลี่ยนแปลงสิ่งที่ SQLite ได้รับการสนับสนุนเกือบจะไม่มีโต๊ะหรือการเปลี่ยนแปลงคอลัมน์ นี้เกิดจากการออกแบบโดยนักพัฒนา SQLite ดังนั้น Alembic foregoes การดำเนินการแก้ไขปัญหาที่อึดอัดและไม่ดีการทำงานสำหรับแพลตฟอร์มนี้ หากคุณร้ายแรงเกี่ยวกับการโยกย้ายคีใช้ฐานข้อมูลที่เช่นเดียวกับที่ร้ายแรง!
เอกสารและสถานะของ Alembic ที่ http://packages.python.org/alembic/.
Requirements:
- Python
ความคิดเห็นที่ไม่พบ