Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
go-dbmigrate — مكتبة Go وواجهة سطر أوامر لإدارة ترحيلات مخطط قاعدة البيانات مع دعم PostgreSQL وMySQL وSQLite وCassandra، بما في ذلك سير عمل الترحيل للأعلى/للأسفل. | Kitploit
أدوات/GitHubGitHub/moisei-dev/go-dbmigrate
تدقيق التكوينDevSecOpsالأدوات والمكوناتأمن سلسلة التوريدأمن قواعد البيانات
GitHubmoisei-dev/go-dbmigrate

go-dbmigrate

مكتبة Go وواجهة سطر أوامر لإدارة ترحيلات مخطط قاعدة البيانات مع دعم PostgreSQL وMySQL وSQLite وCassandra، بما في ذلك سير عمل الترحيل للأعلى/للأسفل.

عرض المستودع
منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

migrate

Build Status GoDoc

أداة مساعدة للترحيل مكتوبة بلغة Go. استخدمها في كود Golang الحالي لديك أو قم بتشغيل الأوامر عبر واجهة سطر الأوامر (CLI).

root@kitploit:~
GoCode   import github.com/mattes/migrate/migrate
CLI      go get -u github.com/mattes/migrate

الميزات

  • سهلة التنفيذ للغاية واجهة السائق.
  • إنهاء عمليات الترحيل الجارية بأمان عند الضغط على ^C.
  • لا توجد مسارات بحث سحرية، ولا ملفات إعدادات مكتوبة بشكل ثابت.
  • واجهة سطر الأوامر مبنية على migrate package.

السائقون المتاحون

  • PostgreSQL
  • Cassandra
  • SQLite
  • MySQL (تجريبي)
  • Bash (مخطط له)

تحتاج إلى سائق آخر؟ فقط قم بتنفيذ واجهة السائق وافتح طلب سحب (PR).

الاستخدام من الطرفية

root@kitploit:~
# التثبيت
go get github.com/mattes/migrate

# إنشاء ملف ترحيل جديد في المسار
migrate -url driver://url -path ./migrations create migration_file_xyz

# تطبيق جميع عمليات الترحيل المتاحة
migrate -url driver://url -path ./migrations up

# التراجع عن جميع عمليات الترحيل
migrate -url driver://url -path ./migrations down

# التراجع عن أحدث عملية ترحيل تم تطبيقها، ثم تشغيلها مرة أخرى.
migrate -url driver://url -path ./migrations redo

# تشغيل أمر down ثم أمر up
migrate -url driver://url -path ./migrations reset

# عرض إصدار الترحيل الحالي
migrate -url driver://url -path ./migrations version

# تطبيق عمليات الترحيل n التالية
migrate -url driver://url -path ./migrations migrate +1
migrate -url driver://url -path ./migrations migrate +2
migrate -url driver://url -path ./migrations migrate +n

# التراجع عن عمليات الترحيل n السابقة
migrate -url driver://url -path ./migrations migrate -1
migrate -url driver://url -path ./migrations migrate -2
migrate -url driver://url -path ./migrations migrate -n

# الانتقال إلى ترحيل محدد
migrate -url driver://url -path ./migrations goto 1
migrate -url driver://url -path ./migrations goto 10
migrate -url driver://url -path ./migrations goto v

الاستخدام في Go

انظر GoDoc هنا: http://godoc.org/github.com/mattes/migrate/migrate

root@kitploit:~
import "github.com/mattes/migrate/migrate"

// استيراد أي سائقين مطلوبين حتى يتم تسجيلهم وتوفرهم
import _ "github.com/mattes/migrate/driver/mysql"

// استخدام الإصدارات المتزامنة من دوال الترحيل ...
allErrors, ok := migrate.UpSync("driver://url", "./path")
if !ok {
  fmt.Println("أوه لا ...")
  // قم بفعل شيء مع شريحة allErrors
}

// استخدام الإصدار غير المتزامن من دوال الترحيل ...
pipe := migrate.NewPipe()
go migrate.Up(pipe, "driver://url", "./path")
// pipe هو في الأساس مجرد قناة (channel)
// اكتب مستمع القناة الخاص بك. انظر writePipe() في main.go كمثال.

ملفات الترحيل

تنسيق ملفات الترحيل يبدو هكذا:

root@kitploit:~
001_initial_plan_to_do_sth.up.sql     # تعليمات ترحيل up
001_initial_plan_to_do_sth.down.sql   # تعليمات ترحيل down
002_xxx.up.sql
002_xxx.down.sql
...

لماذا ملفان؟ بهذه الطريقة يمكنك الاستمرار في فعل شيء مثل psql -f ./db/migrations/001_initial_plan_to_do_sth.up.sql ولا توجد حاجة لأي لغة ترميز مخصصة لتقسيم عمليات الترحيل up و down. يرجى ملاحظة أن امتداد الملف يعتمد على السائق.

البدائل

  • https://bitbucket.org/liamstask/goose
  • https://github.com/tanel/dbmigrate
  • https://github.com/BurntSushi/migration
  • https://github.com/DavidHuie/gomigrate
  • https://github.com/rubenv/sql-migrate
تنزيل الأداة