firmwares
firmwares, proje bazında yayınlanan firmware sürümlerini, dağıtım kanalını ve dosya bütünlüğü bilgilerini tutar. Bu tablo OTA akışı, sürüm görünürlüğü ve geriye dönük sürüm izlenebilirliği için temel referanstır.
Her kayıt bir firmware artefact'ını (file_url, hash alanları), semantik sürüm bilgisini (major.minor.patch) ve yayın kanalını birlikte taşır.
firmware.type Enum Değerleri
| Değer | Anlamı |
|---|---|
beta | Beta firmware |
stable | Kararlı firmware |
deprecated | Kullanımdan kaldırılmış firmware |
rc | Release Candidate firmware |
Kolonlar
| Kolon | Tip | Null | Anlamı |
|---|---|---|---|
id | int | hayır | Firmware birincil anahtarı |
project_id | int | hayır | Bağlı proje; projects.id |
version | varchar(20) | hayır | Görünen sürüm metni |
version_code | int | evet | Sayısal sürüm kodu |
major | int | hayır | Major sürüm bileşeni (DEFAULT: 0) |
minor | int | hayır | Minor sürüm bileşeni (DEFAULT: 0) |
patch | int | hayır | Patch sürüm bileşeni (DEFAULT: 0) |
channel | firmware.type | hayır | Yayın kanalı |
title | varchar(100) | evet | Sürüm başlığı |
description | text | evet | Sürüm açıklaması |
file_name | varchar(255) | evet | Firmware dosya adı |
file_size | int | evet | Dosya boyutu (byte) |
file_url | varchar(1024) | evet | Dosya erişim yolu |
hash_md5 | varchar(32) | evet | MD5 özeti |
hash_sha256 | varchar(64) | evet | SHA256 özeti (benzersiz) |
signature | text | evet | İmza verisi |
is_active | boolean | hayır | Sürüm aktif mi (DEFAULT: true) |
release_notes | text | evet | Yayın notları |
create_time | timestamp | hayır | Kayıt oluşturulma zamanı |
update_time | timestamp | hayır | Son güncelleme zamanı |
İndeksler
| İndeks | Tip | Açıklama |
|---|---|---|
id | Primary Key | Tablo birincil anahtarı |
(project_id, version, channel) | Unique | Aynı projede aynı sürüm/kanal tekrar edemez |
(project_id, version_code) | Unique | Aynı projede aynı version_code tekrar edemez |
hash_sha256 | Unique | Aynı binary için tekil hash zorunluluğu |
Örnek Kayıtlar
- PowerStat V1 Stable 1.0.0
- PowerStat V1 Beta 1.1.0
- PowerStat V2 RC 2.0.0
- Maraba V1 Stable 1.0.0
- WeatherStat V1 Stable 1.0.0
- Qapu V1 Stable 1.0.0
- Qapu V1 Beta 1.0.1
- PowerStat V1 Deprecated 0.9.5
{
"id": 1,
"project_id": 1,
"version": "1.0.0",
"version_code": 10000,
"major": 1,
"minor": 0,
"patch": 0,
"channel": "stable",
"title": "PowerStat V1 Stable",
"description": "PowerStat V1 için ilk kararlı firmware sürümü",
"file_name": "powerstat_v1_1.0.0.bin",
"file_size": 524288,
"file_url": "/firmware/powerstat/v1/1.0.0.bin",
"hash_md5": "d41d8cd98f00b204e9800998ecf8427e",
"hash_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"signature": null,
"is_active": true,
"release_notes": "İlk kararlı sürüm yayınlandı."
}
Özet: PowerStat V1 için üretime açık ilk stable sürüm kaydı.
{
"id": 2,
"project_id": 1,
"version": "1.1.0",
"version_code": 10100,
"major": 1,
"minor": 1,
"patch": 0,
"channel": "beta",
"title": "PowerStat V1 Beta",
"description": "Yeni ölçüm iyileştirmeleri ve hata düzeltmeleri içeren beta sürüm",
"file_name": "powerstat_v1_1.1.0_beta.bin",
"file_size": 540672,
"file_url": "/firmware/powerstat/v1/1.1.0_beta.bin",
"hash_md5": "0cc175b9c0f1b6a831c399e269772661",
"hash_sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"signature": null,
"is_active": true,
"release_notes": "Voltaj ölçüm iyileştirmeleri eklendi."
}
Özet: PowerStat V1 için yeni iyileştirmeler içeren beta kanal sürümü.
{
"id": 3,
"project_id": 2,
"version": "2.0.0",
"version_code": 20000,
"major": 2,
"minor": 0,
"patch": 0,
"channel": "rc",
"title": "PowerStat V2 RC",
"description": "PowerStat V2 için yayın adayı firmware",
"file_name": "powerstat_v2_2.0.0_rc.bin",
"file_size": 786432,
"file_url": "/firmware/powerstat/v2/2.0.0_rc.bin",
"hash_md5": "92eb5ffee6ae2fec3ad71c777531578f",
"hash_sha256": "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
"signature": null,
"is_active": true,
"release_notes": "Yeni haberleşme mimarisi ve iyileştirilmiş hata yönetimi eklendi."
}
Özet: PowerStat V2 için stable öncesi RC doğrulama sürümü.
{
"id": 4,
"project_id": 3,
"version": "1.0.0",
"version_code": 10000,
"major": 1,
"minor": 0,
"patch": 0,
"channel": "stable",
"title": "Maraba V1 Stable",
"description": "Maraba V1 için ilk kararlı firmware sürümü",
"file_name": "maraba_v1_1.0.0.bin",
"file_size": 655360,
"file_url": "/firmware/maraba/v1/1.0.0.bin",
"hash_md5": "4a8a08f09d37b73795649038408b5f33",
"hash_sha256": "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
"signature": null,
"is_active": true,
"release_notes": "İlk sahaya çıkacak kararlı sürüm."
}
Özet: Maraba ürün hattı için ilk stable sürüm kaydı.
{
"id": 5,
"project_id": 4,
"version": "1.0.0",
"version_code": 10000,
"major": 1,
"minor": 0,
"patch": 0,
"channel": "stable",
"title": "WeatherStat V1 Stable",
"description": "WeatherStat V1 için ilk kararlı firmware sürümü",
"file_name": "weatherstat_v1_1.0.0.bin",
"file_size": 458752,
"file_url": "/firmware/weatherstat/v1/1.0.0.bin",
"hash_md5": "8277e0910d750195b448797616e091ad",
"hash_sha256": "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"signature": null,
"is_active": true,
"release_notes": "Temel sıcaklık, nem ve basınç ölçüm desteği eklendi."
}
Özet: WeatherStat için ilk stabil saha sürümü.
{
"id": 6,
"project_id": 5,
"version": "1.0.0",
"version_code": 10000,
"major": 1,
"minor": 0,
"patch": 0,
"channel": "stable",
"title": "Qapu V1 Stable",
"description": "Qapu V1 için ilk kararlı firmware sürümü",
"file_name": "qapu_v1_1.0.0.bin",
"file_size": 720896,
"file_url": "/firmware/qapu/v1/1.0.0.bin",
"hash_md5": "e1671797c52e15f763380b45e841ec32",
"hash_sha256": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"signature": null,
"is_active": true,
"release_notes": "İlk kararlı enerji izleme firmware sürümü."
}
Özet: Qapu V1 ürün hattı için üretime açık stable başlangıç sürümü.
{
"id": 7,
"project_id": 5,
"version": "1.0.1",
"version_code": 10001,
"major": 1,
"minor": 0,
"patch": 1,
"channel": "beta",
"title": "Qapu V1 Beta Patch",
"description": "Qapu V1 için hata düzeltmeleri içeren beta ara sürüm",
"file_name": "qapu_v1_1.0.1_beta.bin",
"file_size": 724992,
"file_url": "/firmware/qapu/v1/1.0.1_beta.bin",
"hash_md5": "8fa14cdd754f91cc6554c9e71929cce7",
"hash_sha256": "1111111111111111111111111111111111111111111111111111111111111111",
"signature": null,
"is_active": true,
"release_notes": "Enerji paketleme ve alarm yönetiminde düzeltmeler yapıldı."
}
Özet: Qapu V1 için hotfix niteliğinde beta patch sürümü.
{
"id": 8,
"project_id": 1,
"version": "0.9.5",
"version_code": 9050,
"major": 0,
"minor": 9,
"patch": 5,
"channel": "deprecated",
"title": "PowerStat V1 Deprecated",
"description": "Eski ve kullanım dışı bırakılmış firmware sürümü",
"file_name": "powerstat_v1_0.9.5.bin",
"file_size": 503808,
"file_url": "/firmware/powerstat/v1/0.9.5.bin",
"hash_md5": "c9f0f895fb98ab9159f51fd0297e236d",
"hash_sha256": "2222222222222222222222222222222222222222222222222222222222222222",
"signature": null,
"is_active": false,
"release_notes": "Bu sürüm artık önerilmemektedir."
}
Özet: Eski PowerStat sürümü deprecate edilerek aktif dağıtımdan çıkarılmıştır.