DairyBrainUtils เป็นแพ็คเกจ PyPI ที่มีฟังก์ชันพื้นฐานบางอย่างสำหรับการโต้ตอบกับฐานข้อมูล PostgreSQL
ในตอนนี้โฮสต์อยู่บน TestPyPI หากการแจกจ่าย TestPyPI ได้รับการล้างข้อมูลแล้ว โปรดติดต่อผู้เขียนเพื่ออัปโหลดใหม่
หากต้องการติดตั้งแพ็คเกจเวอร์ชันล่าสุด ให้ใช้คำสั่งใน PyPI
หากลิงก์ด้านบนเสีย ให้ลอง:
pip install DairyBrainUtils
เมื่อติดตั้งแล้ว เราขอแนะนำให้คุณนำเข้าแพ็คเกจด้วย import DairyBrainUtils as dbu
(อัปเดต: สิ่งนี้ได้รับการแก้ไขเมื่อเราอัปโหลดไปยัง PyPI อย่างเป็นทางการ) หากคุณเห็นข้อความแสดงข้อผิดพลาดดังนี้:
ERROR: Could not find a version that satisfies the requirement DairyBrainUtils-ruipeterpan==0.3.0 (from versions: 0.0.3, 0.0.4, 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1)
ERROR: No matching distribution found for DairyBrainUtils-ruipeterpan==0.3.0
ลองติดตั้งอีกครั้งหนึ่ง TestPyPI นั้นแปลก
รายการฟังก์ชั่นที่ใช้งานได้มีดังนี้:
get_engine(credentials)
check_if_database_exists(db_engine)
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
create_table(db_engine, table_name, sql_statement)
create_schema(db_engine, schema_name)
create_sequence(db_engine, sequence_name)
get_next_from_sequence(db_engine, sequence_name)
populate_table_from_csv(table_name, csv_location, db_engine)
execute_statement(statement, db_engine)
drop_table(table_name, db_engine)
has_table(table_name, db_engine)
get_engine(credentials)
รับ credentials
พจนานุกรมด้วยคีย์: [dialect, user, password, host, port, db_name, log]
และส่งข้อมูลประจำตัวเหล่านี้ไปที่ sqlalchemy.create_engine() เพื่อสร้างอินสแตนซ์กลไกใหม่
dialect
: สตริง ภาษาฐานข้อมูล ขณะนี้แพ็คเกจนี้รองรับเฉพาะ postgresql
เท่านั้นuser
: String. ชื่อผู้ใช้ของผู้ใช้ในฐานข้อมูลpassword
: String. รหัสผ่านที่เกี่ยวข้องกับผู้ใช้host
: สตริง ชื่อโฮสต์.port
: จำนวนเต็ม หมายเลขพอร์ตdb_name
: สตริง ชื่อฐานข้อมูลlog
: บูลีน หากเป็น True กลไกจัดการจะบันทึกคำสั่งทั้งหมดรวมทั้ง repr() ของรายการพารามิเตอร์ไปที่ตัวบันทึกกลไก ซึ่งมีค่าเริ่มต้นเป็น sys.stdoutcheck_if_database_exists(db_engine)
ใช้ฟังก์ชัน sqlalchemy ที่มีอยู่เพื่อตรวจสอบว่าฐานข้อมูลมีอยู่หรือไม่ ส่งคืน 'True' หากมีฐานข้อมูลอยู่ มิฉะนั้น 'False' จะส่งกลับ
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
สร้างตารางที่มี table_name
ในฐานข้อมูลหากไม่มีตารางที่มีชื่อที่กำหนด
sql_statement
เป็นคำสั่ง CREATE TABLE
ที่ระบุส่วนหัวของตารางที่จะสร้าง
create_table(db_engine, table_name, sql_statement)
สร้างตารางด้วย table_name ในฐานข้อมูล
sql_statement
เป็นคำสั่ง CREATE TABLE
ที่ระบุส่วนหัวของตารางที่จะสร้าง
create_schema(db_engine, schema_name)
สร้างสคีมาด้วย schema_name
ที่กำหนดในฐานข้อมูลที่ระบุ
create_sequence(db_engine, sequence_name)
สร้างลำดับในฐานข้อมูล
get_next_from_sequence(db_engine, sequence_name)
ส่งกลับรหัสจำนวนเต็มถัดไปในลำดับที่กำหนด (สมมติว่ามีอยู่)
populate_table_from_csv(table_name, csv_location, db_engine)
รับ csv_location
ซึ่งเป็นเส้นทางไฟล์ของไฟล์ csv และเติมตารางด้วย table_name
ที่กำหนด (สมมติว่ามีอยู่) ในฐานข้อมูลที่ระบุ
execute_statement(statement, db_engine)
ดำเนินการคำสั่ง SQL ในฐานข้อมูลที่ระบุ
drop_table(table_name, db_engine)
วางตารางที่มี table_name
ในฐานข้อมูลที่ระบุ
has_table(table_name, db_engine)
ส่งคืน True
ถ้ามีตารางที่มี table_name
ที่กำหนดในฐานข้อมูลที่ระบุ มิฉะนั้นจะส่งคืนค่า False
ดูบทช่วยสอนนี้สำหรับคำแนะนำในการจัดทำโปรเจ็กต์ Python และการอัพโหลดไปยัง PyPI (Python Package Index) นี่คือโครงการตัวอย่างที่มีรูปแบบที่ดีที่สุด
หากต้องการเผยแพร่เวอร์ชันใหม่ของแพ็คเกจ ให้แก้ไข ./DairyBrainUtils/__init__.py
เปลี่ยนหมายเลขเวอร์ชันใน setup.py
และเผยแพร่ไฟล์เก็บถาวรการแจกจ่ายตามบทช่วยสอน
โดยเฉพาะอย่างยิ่ง ให้ทำ:
python3 -m pip install --upgrade setuptools wheel
python3 setup.py sdist bdist_wheel
ตอนนี้ ควรสร้างไดเร็กทอรี dist
ด้วยสองไฟล์ หากแพ็กเกจถูกโฮสต์บนเซิร์ฟเวอร์ภายในเครื่อง เพียงใช้ไฟล์ .whl
และใช้ pip
เพื่อติดตั้งแพ็กเกจ
สำหรับการอัปโหลดแพ็คเกจการแจกจ่ายไปยัง TestPyPI ให้ทำดังนี้
python3 -m pip install --upgrade twine
python3 -m twine upload --repository testpypi dist/*
ใช้ __token__
เมื่อได้รับแจ้งให้ป้อนชื่อผู้ใช้ สำหรับรหัสผ่าน ให้ใช้ค่าโทเค็น รวมถึงคำนำหน้า pypi-