உள்ளடக்கத்துக்குச் செல்லவும்

தரவு மாதிரி

bae இன் பட்டியல் சாதாரண SQLite, coven க்கு அட்டவணை அட்டவணையாக அறிவிக்கப்பட்டது: ஒத்திசைக்கப்படும் அட்டவணைகள் அவற்றைப் படிக்கக்கூடிய ஒவ்வொரு சாதனத்துக்கும் செல்லும்; அறிவிக்கப்படாத அட்டவணைகள் சாதனத்தை விட்டு வெளியேறாது. இந்தப் பிரிவே தரவு மாதிரியின் மிக முக்கிய முடிவு, அதனால் இந்தப் பக்கம் அதைச் சுற்றி அமைக்கப்பட்டுள்ளது.

schema வின் synced heart:

  • artists, albums, works: grouping layer. ஆல்பம் அதன் வெளியீடுகள் ஐ aggregate செய்து primary ஒன்றைச் சுட்டுகிறது; classical அமைப்பு க்கு works parent/child graph ஆகும்.
  • ** releases **: மத்திய அமைப்பு, இறக்குமதி செய்த ஒவ்வொரு பிரதிக்கும் ஒரு வரிசை. அழுத்தும் உண்மைகளைக் கொண்டுள்ளது (குறிப்பு, பட்டியல் எண், பட்டக குறியீடு, நாடு, வடிவம், ஆண்டு), விருப்பமான மெட்டா தரவு மூலம், இறக்குமதி செய்யப்பட்ட அடைவின் உள்ளடக்க ஹாஷ், மற்றும் அளவிடப்பட்ட ஆல்பம் ஒலித்தன்மை. எந்த மூலமும் இல்லை என்றால் மெட்டா தரவு நேரடியாக நுழைக்கப்பட்டுள்ளது; வெளி மூலத்தின் பெயர்கள் சரியான மூல வெளியீடு, கோப்புக் குறிச்சொற்கள் ஒரு உள்ளார்ந்த ஸ்னாப்ஷாட் மூலத்தை பதிவு செய்கிறது.
  • ** release_identities **: வெளியீட்டுக்கான சரியான வெளிப்புற அடையாளங்கள் * இது *. வரிசை இல்லை என்றால் வெளிப்புற அடையாளம் இல்லை. ஒவ்வொரு வரிசை ஒரு MusicBrainz அல்லது Discogs வெளியீடு மற்றும் வெளியீட்டு குழு மற்றும் ஒரு வெளியீடு இரண்டு மூலங்களிலும் அடையாளங்களை ஒருவேளை வைத்திருக்க முடியும். இது புரொவின்சன் யிலிருந்து வேறுபட்டது: அடையாளம் அந்த மூலத்திலிருந்து தற்போதைய தொகுக்கக்கூடிய மெட்டாடேட்டாவை மீட்டமைக்காமல் மாற்றப்படலாம்.
  • tracks with track_artists, plus release_artist_roles and track_artist_roles: பாதை lists மற்றும் credits; ஒவ்வொரு credit தன் மூலம் உடன் tagged.
  • track_works, work_parts, work_artists: அவை perform செய்யும் works உடன் linked recordings.
  • audio_formats and audio_format_segments: playback specs. Per பாதை: codec, மாதிரி rate, bit depth, channels, measured loudness and peak, pregap lengths. Segments பாதை ஐ மூலம் கோப்புகள் இன் ordered பைட் மற்றும் மாதிரி சாளரங்கள் மீது map செய்கின்றன; இதுவே CUE rip பாதை, pregap உட்பட, ஒரு பெரிய கோப்பு இன் regions அல்லது பல கோப்புகள் ஐ span செய்ய உதவும்.
  • release_files, covers, artist_images: blob-bearing அட்டவணைகள். Rows catalog entries; பைட்டுகள் coven இன் blob layer இல் வாழ்கின்றன (கீழே பார்க்கவும்).
  • people, ratings, history, playlists, playlist_entries: ஒவ்வொரு நபரின் profile உம் அவர் தனக்காகப் பதிவு செய்வதும். இவை owner அட்டவணைகள்: அவற்றை எழுதியவரின் சாதனங்கள் மட்டுமே மாற்ற முடியும். history, playlists இன் ஒவ்வொரு வரிசையும் வீட்டின் பகிரப்பட்ட store இல் அல்லது நபரின் தனிப்பட்ட circle இல் இருக்கும்.

ஒத்திசைக்கப்படுவதும் உள்ளூரும்

இந்தப் பிரிவுக்கான இணைப்பு

மேலே உள்ள ஒவ்வொரு அட்டவணையும் நிபந்தனையின்றி ஒத்திசைக்கப்படும்: உள்ளூர் வெளியீட்டின் வரிசைகள் மற்ற எந்த வெளியீட்டைப் போலவும் ஒவ்வொரு சாதனத்தையும் அடையும்; அதனால் வீட்டில் என்ன உள்ளது என்பது ஒவ்வொரு சாதனத்துக்கும் தெரியும், உள்ளூர் வெளியீட்டின் தடத்தைச் சுட்டும் மதிப்பீடு அல்லது playlist entry ஒவ்வொரு சாதனமும் படிக்கக்கூடிய வரிசையைச் சுட்டும். வெளியீட்டின் ஒலியும் அது இருக்கும் பாதைகளும் மட்டுமே இறக்குமதி செய்த சாதனத்தில் இருக்கும். ஒவ்வொரு அட்டவணையும் தன் வரிசை அடையாளம், வாசகர்கள், owner அட்டவணையா என்பது, அது வைத்திருக்கும் கோப்புகள் ஆகியவற்றுடன் அறிவிக்கப்படும்; ஒரு test அறிவிப்புகளைச் சரியாக இந்தப் பட்டியலிலேயே வைத்திருக்கும்.

முழுவதும் உள்ளூர் அட்டவணைகள், coven க்கு ஒருபோதும் declared இல்லை:

  • playback_state: தற்போதைய பாதை, நிலை, வரிசை, volume, shuffle and repeat. Playback என்பது சாதனம் fact.
  • ஸ்கேன் மற்றும் இறக்குமதி அட்டவணைகள்: கண்காணிக்கப்படும் அடைவுகள், ஸ்கேன்கள், இறக்குமதி வேட்பாளர்கள், அவற்றின் வரைவுகள்.
  • source_release மற்றும் அதன் கீழுள்ள tables: bae கொண்டுவந்த ஒவ்வொரு MusicBrainz மற்றும் Discogs release இலிருந்தும் எடுத்தவை — album மற்றும் pressing விவரங்கள், credits மற்றும் works உடன் முழு tracklist, cover தேர்வுகள், மற்ற catalogs அதை என்ன பெயரில் அழைக்கின்றன — உள்ளமை வெளியீட்டிற்காக அல்ல, வழங்குநர் வெளியீட்டிற்காக விசையிடப்பட்டது. raw JSON வைக்கப்படுவதில்லை; எந்தச் சாதனமும் release ஐ மீண்டும் கொண்டுவரலாம்.
  • local_release_files: இந்தச் சாதனத்தில் உள்ளூர் வெளியீட்டின் கோப்புப் பாதைகளும் மாற்ற நேரங்களும்.
  • local_history: இந்தச் சாதனத்தின் நபருக்கு profile உருவாகும் முன் நடந்த இயக்கங்கள், profile உருவாகும் போது அவரின் தனிப்பட்ட circle க்கு நகர்த்தப்படும்.

இரண்டு சாதனங்களின் திருத்தங்கள் cell cell ஆக இணைக்கப்படும், இரண்டும் மாற்றிய cell இல் பிந்தைய திருத்தம் வெல்லும். coven இணைப்புக் கணக்கைத் தன் சொந்த அட்டவணைகளில் வைத்திருக்கும், அதனால் bae இன் அட்டவணைகளில் clock நெடுவரிசைகள் இல்லை.

ஒலியும் படங்களும் coven கோப்புகள், ஒவ்வொரு வகையும் தனிச் சாதனத் தற்காலிகச் சேமிப்பு வரம்புள்ள ஒரு பெயர்வெளி: release_files (20 GiB), covers (512 MiB), artist_images (256 MiB), avatars (64 MiB). ஒரு வரிசை தன் கோப்பை coven கோப்பின் id மூலம் சுட்டும்: release_files, covers, artist_images இல் file, people இல் avatar_id. கோப்பின் அளவு, உள்ளடக்க hash, இருப்பிடம் ஆகியவை coven உடையவை, coven_files உடன் இணைத்துப் படிக்கப்படும்.

வெளியீட்டுக் கோப்புகள் பயனருடையவை: உள்ளூர் வெளியீட்டின் கோப்புகள் பயனரின் சொந்தக் கோப்புகள், அவற்றின் மூலப் பாதைகளில், local_release_files இல் பதிவானவை, அதன் வரிசைகள் எந்த coven கோப்பையும் சுட்டுவதில்லை. வெளியீட்டை மேகத்துக்கு நகர்த்துவது ஒரே எழுத்தில் ஒவ்வொரு கோப்பையும் coven இல் தயார்படுத்தி ஒவ்வொரு வரிசையையும் அதன் கோப்பைச் சுட்டச் செய்யும்; கடைசிக் கோப்பு சேமிக்கப்பட்டதும் coven அனைத்தையும் ஒன்றாக மேகத்துக்கு மாற்றும், மற்ற சாதனங்கள் முதல் வாசிப்பில் ஒவ்வொன்றையும் தற்காலிகச் சேமிப்புக்குப் பெறும். அட்டைப்படங்கள், கலைஞர் படங்கள், avatars bae உடையவை: bae பைட்டுகளை உருவாக்கும் (அட்டைப்படங்கள் அதிகபட்சம் 600px அகல JPEG thumbnails ஆக மீண்டும் உருவாக்கப்படும்), சாதனம் ஒவ்வொன்றையும் முதன்முறை காட்டப்படும் போது பெற்று, அதன் பெயர்வெளியின் வரம்பு அதை வெளியேற்றும் வரை வைத்திருக்கும்.

ஒவ்வொரு கோப்பும் சீரற்ற பெயரின் கீழ் மறைகுறியாக்கப்பட்டுப் பதிவேற்றப்படும், அது தயார்படுத்தப்படும் போது நிலைக்கும் பாதையில்; அதனால் பின்னர் பெயர் மாற்றினாலும் உருப்படி நகராது. ஒரு கோப்பின் பைட்டுகள் ஒருபோதும் மாறாது: புதிய படம் என்பது புதிய கோப்பு.

ஒவ்வொரு இறக்குமதியும் புதிய சீரற்ற அடையாளத்துடன் ஒரு வெளியீட்டையும் அதற்குரிய பாடல் மற்றும் கோப்பு வரிசைகளையும் உருவாக்குகிறது. ஒவ்வொரு சாதனமும் தன் ஒவ்வொரு இறக்குமதியும் படித்த கோப்புகளின் வரிசைப்படுத்திய சார்புப் பாதைகள், அளவுகள், மாற்ற நேரங்கள் ஆகியவற்றின் SHA-256 மதிப்பை local_release_origin இல் பதிவு செய்கிறது; இந்தப் பதிவு ஒருபோதும் ஒத்திசைக்கப்படாது. இந்தச் சாதனம் ஹாஷைப் பதிவு செய்த கோப்புறை எங்கு நகர்த்தப்பட்டாலும் முடிந்த இறக்குமதிகளின் தாவலில் இருக்கும்; அதன் வரிசை அதிலிருந்து இறக்குமதி செய்யப்பட்ட ஒரே வெளியீட்டைக் குறிப்பிடும். அதே சாதனத்தில் அதே கோப்புகளை மீண்டும் இறக்குமதி செய்தால் தோல்வியடையும்; முடிந்த இறக்குமதிகளின் தாவலில் மீண்டும் இறக்குமதி செய்யும் செயல் இல்லை.